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

时间:2014-01-07 04:32:48

标签: sql sql-server stored-procedures insert

我有2个表,custlogincustinfo

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)

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

更准确地说,使用custlogin插入custusername custpassword,这将返回custid以用作custinfo的外键。

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

1 个答案:

答案 0 :(得分:15)

这将是下面的内容。在这种情况下,您可以使用SCOPE_IDENTITY()获取最后一个自动生成的ID,其范围是此存储过程:

create procedure NameOfYourProcedureHere
as
begin

    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?)

end