我在插入语句中获取范围标识时遇到问题。我以前做了很多次,但总是定义了值:
INSERT INTO t_table (field1, Field2)
VALUES (field1Val, field2Val);
SET @id = SCOPE_IDENTITY()
如果通过从另一个表运行select来获取插入的值,那么如何执行此操作?
INSERT INTO t_table (field1, Field2)
SELECT value1, value2 FROM #tempTable;
SET @id = SCOPE_IDENTITY()
以上运行没有错误,但@id为空
答案 0 :(得分:6)
由于您尝试在此处检索多个值,因此需要使用OUTPUT子句。它会将所有新插入的值返回到表或表变量中。