0

我需要插入大约 10 条记录。我在考虑 foreach 循环,你认为这是最好的方法吗?当搜索什么是最好的方法时,我发现这样的东西,

GO
INSERT INTO MyTable (FirstCol, SecondCol)
SELECT 'First' ,1
UNION ALL
SELECT 'Second' ,2
UNION ALL
SELECT 'Third' ,3
UNION ALL
SELECT 'Fourth' ,4
UNION ALL
SELECT 'Fifth' ,5
GO

this 和 foreach 循环之间有什么区别。哪个更好。谢谢你们

4

3 回答 3

1
INSERT INTO MyTable (FirstCol, SecondCol)
VALUES ('First',1),
('Second',2),
('Third',3),
('Fourth',4),
('Fifth',5)
GO

foreach循环和方法都是union all所谓的“Row by Agonizing Row”方法

于 2013-11-06T08:20:38.523 回答
1

只需创建一个用于插入所有记录的单个.. 因为 foreach 循环将访问数据库 10 次,您将花费更多时间和资源..

所以最好对所有 10..

INSERT INTO Table ( FirstCol, SecondCol) VALUES
( Value1, Value2 ), ( Value1, Value2 )...
于 2013-11-06T08:20:48.573 回答
1

如果您有 MSSQL 2008 或更高版本,则可以使用多值插入:

INSERT INTO mytable (id, name)  
VALUES (1, 'One'),
       (2, 'Two'),  
       (3, 'Three')

不幸的是,MSSQL 2005 和更早版本不支持这种语法。

于 2013-11-06T08:21:30.167 回答