2017-08-17 66 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