我有2个表,custlogin
和custinfo
:
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)
我想写一个存储过程,它将插入到两个表中
更确切地说,使用custusername custpassword插入custlogin,这将返回custid以用作custinfo的外键。
我搜索了很多,但我找不到任何解决方案。
答案 0 :(得分:0)
这将是下面的内容。在这种情况下,您可以使用 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
答案 1 :(得分:0)
如果您向custlogin
插入一行,则可以使用@@IDENTITY或Scope_identity()来获取新的插入ID。
如果您插入多行,请使用OUTPUT获取多个新插入的ID。
您可以在此处看到一个示例:http://rextester.com/TWXO81648