我有一个存储过程,它通过用户定义的类型将多行插入表中。用户定义的类型是从 ac# 数据表中填充的。
在存储过程中,在执行带有数据表的插入命令之前,我有另一个插入命令到另一个表中。Scope_Identity() 获取新插入行的 ID 并将其分配给变量。
我想做的是将该 ID 添加到使用用户定义类型添加的所有行中。
最好的方法是什么?如何将 Scope_Identity 值合并到插入语句中?
我有一个存储过程,它通过用户定义的类型将多行插入表中。用户定义的类型是从 ac# 数据表中填充的。
在存储过程中,在执行带有数据表的插入命令之前,我有另一个插入命令到另一个表中。Scope_Identity() 获取新插入行的 ID 并将其分配给变量。
我想做的是将该 ID 添加到使用用户定义类型添加的所有行中。
最好的方法是什么?如何将 Scope_Identity 值合并到插入语句中?
If I am not mistaken, you can set the SCOPE_IDENTITY
to an integer variable and use it in your INSERT
DECLARE @lastId INT
-- Your first INSERT
INSERT INTO yourTable1 ....
SET @lastId = SCOPE_IDENTITY()
-- Your second INSERT
INSERT INTO yourTable2(...)
VALUES(@lastId, [user data types], ...)