【发布时间】:2011-02-07 03:47:24
【问题描述】:
我知道几年前我已经这样做了,但我不记得语法了,而且由于查阅了大量关于“批量导入”的帮助文档和文章,我无法在任何地方找到它。
这是我想要做的,但语法不完全正确......请以前做过这个的人帮帮我:)
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'.
【问题讨论】:
-
你上面的代码没问题,只需要在values语句后添加','
-
INSERT INTO @blah (ID, Name), VALUES (123, 'Timmy'), VALUES (124, 'Jonny'), VALUES (125, 'Sally')
-
请注意:您最多只能通过此方法插入 1000 行。插入#Test (LWPurchaseOrderID)VALUES (935791), (935933)
-
2005 不再受支持。对于 2008、2012 和 2016,您可以几乎使用您输入的内容
INSERT INTO @blah (ID, Name) VALUES (123, 'Timmy'), (124, 'Jonny'), (125, 'Sally')“VALUES”只出现一次,并且您需要在集合之间使用逗号。
标签: sql-server tsql sql-server-2005 insert