2017-08-17 67 views
-3

我有一個包含幾千行的.txt文件。在每一行上都有一個表的名字。 例如,這是文本文件的摘錄:爲每行創建表SQL

大象

香蕉

藍莓

.......

我想創建表與標題狗,貓,大象...

我如何實現這一點,並將所有的表添加到我的數據庫?

感謝您的幫助!

+0

*「我所有的表格都存儲在Adminer中(類似於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