0

我正在运行我自己的项目。之前我使用的是 MS Access 数据库,但现在它不足以处理如此庞大的数据。

我的问题是我正在使用存储过程,我需要一些建议。

我尝试对 3 个表进行级联插入。第一个表仅保留协议编号,第二个表地址用于协议,最后一个表用于这些地址。单个协议可以有很多地址,所有这些地址都可以有很多东西。

Scope_identity、output 等效果很好,但是当我对所有表只有一条记录时。

我希望我能解释一下系统。简单的帮助会很好。谢谢

4

1 回答 1

0

创建一个临时表,其中包含您希望从插入语句返回的字段,并将 OUTPUT 和 INTO 选项添加到其中。

您还将在一个事务中包装您的 3 个插入语句。

是包含更多详细信息的链接。

CREATE TABLE #tmp (
     Id int,
     Name varchar(20),
     Email varchar(50))

INSERT INTO Customer (
    Name, Email)
OUTPUT INSERTED.Id, INSERTED.Name, INSERTED.Email, 
INTO #tmp
SELECT DISTINCT 
     Name, Email
FROM StagingTable
于 2016-01-04T20:51:55.460 回答