插入行并获取其id并将该id插入另一个表的存储过程

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了插入行并获取其id并将该id插入另一个表的存储过程相关的知识,希望对你有一定的参考价值。

我有一个表user

Id | Name | Email

我有另一张桌子employee与列

Id | UserId | Designation

有没有办法写一个存储过程,我在User中插入一行并获取Id,然后使用Id(作为UserId)在Employee表中插入一行?

答案

当然 - 没问题 - 尝试这样的代码:

CREATE PROCEDURE dbo.InsertUserAndEmployee 
    (@Name VARCHAR(100), 
     @Email VARCHAR(255), 
     @Designation VARCHAR(100)
    )
AS 
BEGIN
    -- Insert into "User"
    INSERT INTO dbo.User (Name, Email)
    VALUES (@Name, @Email);

    -- get the newly inserted ID
    DECLARE @UserId INT;
    SELECT @UserId = SCOPE_IDENTITY();

    -- Insert into "Employee"
    INSERT INTO dbo.Employee (UserId, Designation)
    VALUES (@UserId, @Designation);
END

以上是关于插入行并获取其id并将该id插入另一个表的存储过程的主要内容,如果未能解决你的问题,请参考以下文章