2017-08-17 7 views
-3

私は数千行の.txtファイルを持っています。すべての行には、テーブルの名前があります。たとえば、これはテキストファイルの抽出物である :各行のテーブルを作成します。SQL

バナナ

ブルーベリー

.......

テーブルを作成したい犬、猫、象のタイトルが付いています...

これをどのようにしてすべてのテーブルをデータベースに追加できますか?

ありがとうございました!

+0

* "すべてのテーブルは管理者(phpMyAdminと同様)に保存されます。" * - テーブルはデータベースに保存されます。 AdminerとphpMyAdmin(および他の多くのツール)は、データベースに格納されているデータを表示および操作するためのツールです。 AdminerまたはphpMyAdminには何も格納されていません(自分の設定は例外ですが、質問には関係ありません)。 – axiac

+0

大丈夫ですが、あなたは私の質問で私を助けることができると思いますか? – alb

+0

まだ試しましたか?なぜあなたはこれをやりたいのですか?私は多くのウェブサイトについての情報を持っており、それぞれのウェブサイトに独自のテーブルを持たせたいので、これは確かに良い考えではない – Milney

答えて

0

すべてのテーブル構造がまったく同じ場合は、カーソルと動的SQLの組み合わせを使用できます。テキストファイルをテーブルにアップロードしたら、カーソルを使用してテキストファイルをループすることができます。

CREATE TABLE #temp 
(TableName NVARCHAR(20)) 
INSERT INTO #temp 
VALUES ('Dog'),('Cat'),('Mouse') 

DECLARE @mySQL NVARCHAR(MAX); 
DECLARE @name NVARCHAR(50); 

DECLARE crsr CURSOR FOR 
SELECT TableName FROM #temp 

OPEN crsr 
FETCH NEXT FROM crsr INTO @name 
WHILE @@FETCH_STATUS = 0 
BEGIN 
    SET @mySQL = 'CREATE TABLE dbo.' + @name + ' (Col_1 CHAR(10), Col_2 INT)' 
    PRINT @mySQL 

    EXECUTE (@mySQL) 

    FETCH NEXT FROM crsr INTO @name 

END 

CLOSE crsr 
DEALLOCATE crsr 
関連する問題