将多个SQL Insert语句转换为一个Insert语句

时间:2015-02-04 03:32:12

标签: mysql sql-server tsql stored-procedures multiple-insert

我有一个问题,我正在为我的项目创建教师数据库。作为此过程的一部分,我可能必须使用多个"Insert"语句来输入有关每个教师的所有各种详细信息,以创建有关它们的数据行。所以,如果我说1000名老师,那么我必须手动编写1000个插入语句来为每个语句创建单独的记录。这绝对是一项乏味的练习。

我想知道是否有一种方法或方法可以最大限度地减少这个过程所需的时间!是否存在可能使此任务自动化的存储过程或其他内容?我可以为需要的人创建和使用像Macros这样的东西吗?

例如,一段MySQL代码(个别陈述)可能是:

insert into <tablename> (attribute1, attribute 2, attribute 3, ....., attribute n) values (value1, value2, value3, ......., value n)

对此有任何建议将不胜感激。我必须知道T-SQL中的代码(对于MS SQL Server)

谢谢你, 塞特

1 个答案:

答案 0 :(得分:0)

下载名字数据库。例如,来自http://www.namepedia.org/en/firstname/

然后将此数据库导入表中,并插入标识。

然后你只能编写这样的脚本:

    DECLARE @i INT = 1000, @y INT = 1, 


WHILE @i != 0  
BEGIN



INSERT INTO yourtable (FirstName, LastName) 
SELECT FirstName, FirstName AS LastName 
FROM DownloadedTable a 
JOIN DownloadedTable b ON b.IdentityId = @i 
WHERE a.IdentityId = @y

    SET @i = @i-1

END

或者这个更好:

SELECT TOP 100 FirstName 
FROM DownloadedTable a
JOIN (SELECT TOP 10 FirstName as LastName FROM DownloadedTable ORDER BY FirstName Desc) b ON 1=1

如果您需要真实的姓氏,请在手机数据库中搜索...