我看到一些Stored Procedures
使用以下两种格式编写:
Method 1:
Insert Into Tablname(col1,col2) values (@col1,col2)
Method 2:
Insert Into Tablname(col1,col2) select @col1,@col2
我很想知道Method1或Method2是否有任何优势?原因是什么?
谢谢!
答案 0 :(得分:0)
这是完全一样的。
INSERT INTO...SELECT
(一种的快捷方式)允许您从SELECT
语句的结果中插入记录,例如
INSERT INTO FooBar(Col1, Col2)
SELECT Col1, Col2
FROM sourceTable
答案 1 :(得分: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');
有关详细信息,请查看this链接。
答案 2 :(得分:0)
实际上这两者都是一样的。两者之间没有性能差异。还有一种方法可以在一个插入语句中插入多个记录。
INSERT INTO Table1 (ID, Value)
VALUES (1, 'Test1'), (2, 'Test2'), (3, 'Test3');