小编典典

SQL Server存储过程要插入多个表中

sql

我有2张tablecustlogincustinfo`:

custlogin

custid int primary key auto notnull
custusename varchar(25)
custpassword varchar(50)

custinfo

custid foriegnkey custlogin.custid ondelete set NULL
custfirstname varchar(25)
custlastname  varchar(25)
custaddress   varchar(100)

我想编写一个存储过程,该过程将插入两个表中

更准确地说,是插入custloginwith custusername custpassword,它将返回custid用作的外键custinfo

我进行了很多搜索,但未找到任何解决方案。


阅读 163

收藏
2021-03-23

共1个答案

小编典典

如下图所示。SCOPE_IDENTITY()在这种情况下,您可以用来获取最后一个自动生成的ID以及此存储过程的作用域:

create procedure NameOfYourProcedureHere
as
begin
SET NOCOUNT ON;
SET XACT_ABORT ON;

    insert into custlogin(custusename, custpassword) 
        values ('','') -- put values here (from parameters?)

    insert into custinfo(custid, custfirstname, custlastname, custaddress)
        values (SCOPE_IDENTITY(), '', '', '')  -- put other values here (from parameters?)

SET NOCOUNT OFF;
SET XACT_ABORT OFF;
end
2021-03-23