插入行并获取其ID并将该id插入另一个表

时间:2018-02-19 17:18:27

标签: stored-procedures

我有一个表user,其中包含

Id | Name | Email

我有另一张表employee,其中包含

Id | UserId | Designation

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

1 个答案:

答案 0 :(得分:3)

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

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
相关问题