0

我只是想问一下如何从表A中获取最新插入的ID作为例子,并用它在另一个表B中输入记录?

4

1 回答 1

0

如果我很好地回答了您的问题,您需要INSERT在一个语句中执行两个语句Stored Procedure并使用从第一个语句生成的 ID 在第二个语句中使用它,使用SCOPE_IDENTITY()

create proc yourproc
    (
       -- parameter definitions here
    )
    as
    begin
            insert into Employee
            (FN,LN,Address) 
            values 
            (@FN,@LN,@Address)

    declare @EmployeeID int 
    set @EmployeeID = SCOPE_IDENTITY()

            insert into EmpContact
            (Empid, ContactType, ContactNumber) 
            values 
            (@EmployeeID, @ContactType, @ContactNumber) 
    end

SCOPE_IDENTITY 和@@IDENTITY 返回在当前会话的任何表中生成的最后一个标识值。但是,SCOPE_IDENTITY 返回仅在当前范围内插入的值;@@IDENTITY 不限于特定范围。

SCOPE_IDENTITY (Transact-SQL) - MSDN

于 2013-01-28T18:56:50.003 回答