我知道我在几年前就已经这样做了,但是我不记得语法了,而且由于提取了大量有关“批量导入”的帮助文档和文章,我在任何地方都找不到它。
这是我想做的,但语法不完全正确......请,以前做过这个的人,帮帮我:)
INSERT INTO dbo.MyTable (ID, Name) VALUES (123, 'Timmy'), (124, 'Jonny'), (125, 'Sally')
我知道这 接近 正确的语法。我可能需要在其中使用“BULK”这个词,或者其他什么,我不记得了。任何想法?
我需要这个用于 SQL Server 2005 数据库。我试过这段代码,但无济于事:
DECLARE @blah TABLE ( ID INT NOT NULL PRIMARY KEY, Name VARCHAR(100) NOT NULL ) INSERT INTO @blah (ID, Name) VALUES (123, 'Timmy') VALUES (124, 'Jonny') VALUES (125, 'Sally') SELECT * FROM @blah
我越来越Incorrect syntax near the keyword 'VALUES'.
Incorrect syntax near the keyword 'VALUES'.
INSERT INTO dbo.MyTable (ID, Name) SELECT 123, 'Timmy' UNION ALL SELECT 124, 'Jonny' UNION ALL SELECT 125, 'Sally'
对于 SQL Server 2008,可以 完全 按照您问题中的语句在一个 VALUES 子句中执行此操作(您只需添加一个逗号来分隔每个值语句)…