SQL Server语言 - 使用 select 插入后获取 SCOPE_IDENTITY()



我从插入语句获取范围标识时遇到问题。我以前做过很多次,但总是使用定义的值:

INSERT INTO t_table (field1, Field2) 
VALUES (field1Val, field2Val); 
SET @id = SCOPE_IDENTITY()

当您通过从另一个表中运行选择来获取插入的值时,如何做到这一点?

INSERT INTO t_table (field1, Field2) 
SELECT value1, value2 FROM #tempTable; 
SET @id = SCOPE_IDENTITY()

上述运行没有错误,但@id为空

由于您尝试在此处检索多个值,因此需要使用 OUTPUT 子句。它会将所有新插入的值返回到表或表变量中。

https://msdn.microsoft.com/en-us/library/ms177564.aspx

相关内容

  • 没有找到相关文章

最新更新