0

我看过一些Stored Procedures用以下两种格式写的:

Method 1:
Insert Into Tablname(col1,col2) values (@col1,col2)

Method 2:
Insert Into Tablname(col1,col2) select @col1,@col2

我很想知道 Method1 或 Method2 是否有任何优势?原因?

谢谢!

4

3 回答 3

0

这几乎是一样的。

一种快捷方式INSERT INTO...SELECT)允许您从语句的结果中插入记录,例如。SELECT

INSERT INTO FooBar(Col1, Col2)
SELECT Col1, Col2
FROM sourceTable
于 2013-09-04T07:46:16.680 回答
0

没有性能差异。这只是偏好问题。

但是使用 Method:2 您可以执行以下操作来插入多条记录:

Insert Into Tablname(col1,col2) 
select @col1,@col2
Union all
select @col2,col4

从 SQL Server 2008(行构造)开始,您可以使用方法 1 执行以下操作:

INSERT INTO Tablname (col1, col2)
VALUES (1, 'First'), (2, 'Second'), (3, 'Third');

有关更多信息,请查看链接。

于 2013-09-04T08:35:22.143 回答
0

其实这两者是一样的。两者之间没有性能差异。还有另一种方法可以在单个 insert into 语句中插入多条记录。

INSERT INTO Table1 (ID, Value)
VALUES (1, 'Test1'), (2, 'Test2'), (3, 'Test3');
于 2013-09-04T08:40:49.453 回答