c00*_*0fd 0 t-sql sql-server sql-server-2008-r2
当我在SQL Server 2008数据库表中插入多行时:
INSERT INTO MyTable (Name, ID)
VALUES ('First',1),
('Second',2),
('Third',3),
('Fourth',4),
('Fifth',5)
Run Code Online (Sandbox Code Playgroud)
我可以在一个INSERT INTO声明中使用多少这些值?
根据我的测试,限制为1000行.刚尝试插入很多行,并提出了这个错误:
INSERT语句中的行值表达式数超过了允许的最大1000行值.
它实际上在这里记录:
可以在单个INSERT语句中插入的最大行数为1000.
而在这里:
通过直接在VALUES列表中插入行可以构造的最大行数为1000.如果行数超过1000,则返回错误10738.
请注意,1000行限制仅适用于单个VALUES子句.正如Lasse V. Karlsen评论的那样:
这不是
INSERT有限制的陈述,而是VALUES条款.如果您执行从某处提取数据的插入,这一点很重要.该插入仅受内存/事务空间/磁盘空间的限制.