【问题标题】:SQL Server stored procedure to insert in multiple tables [duplicate]SQL Server存储过程插入多个表[重复]
【发布时间】:2014-01-07 04:32:47
【问题描述】:

我有 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)

我想写一个存储过程来插入两个表

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

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

【问题讨论】:

标签: sql sql-server stored-procedures insert


【解决方案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

【讨论】:

    猜你喜欢
    • 2017-10-03
    • 2022-08-22
    • 2021-02-10
    • 1970-01-01
    • 2014-12-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多