我看过一些Stored Procedures
用以下两种格式写的:
Method 1:
Insert Into Tablname(col1,col2) values (@col1,col2)
Method 2:
Insert Into Tablname(col1,col2) select @col1,@col2
我很想知道 Method1 或 Method2 是否有任何优势?原因?
谢谢!
我看过一些Stored Procedures
用以下两种格式写的:
Method 1:
Insert Into Tablname(col1,col2) values (@col1,col2)
Method 2:
Insert Into Tablname(col1,col2) select @col1,@col2
我很想知道 Method1 或 Method2 是否有任何优势?原因?
谢谢!
这几乎是一样的。
(一种快捷方式INSERT INTO...SELECT
)允许您从语句的结果中插入记录,例如。SELECT
INSERT INTO FooBar(Col1, Col2)
SELECT Col1, Col2
FROM sourceTable
没有性能差异。这只是偏好问题。
但是使用 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');
有关更多信息,请查看此链接。
其实这两者是一样的。两者之间没有性能差异。还有另一种方法可以在单个 insert into 语句中插入多条记录。
INSERT INTO Table1 (ID, Value)
VALUES (1, 'Test1'), (2, 'Test2'), (3, 'Test3');