我正在运行我自己的项目。之前我使用的是 MS Access 数据库,但现在它不足以处理如此庞大的数据。
我的问题是我正在使用存储过程,我需要一些建议。
我尝试对 3 个表进行级联插入。第一个表仅保留协议编号,第二个表地址用于协议,最后一个表用于这些地址。单个协议可以有很多地址,所有这些地址都可以有很多东西。
Scope_identity、output 等效果很好,但是当我对所有表只有一条记录时。
我希望我能解释一下系统。简单的帮助会很好。谢谢
我正在运行我自己的项目。之前我使用的是 MS Access 数据库,但现在它不足以处理如此庞大的数据。
我的问题是我正在使用存储过程,我需要一些建议。
我尝试对 3 个表进行级联插入。第一个表仅保留协议编号,第二个表地址用于协议,最后一个表用于这些地址。单个协议可以有很多地址,所有这些地址都可以有很多东西。
Scope_identity、output 等效果很好,但是当我对所有表只有一条记录时。
我希望我能解释一下系统。简单的帮助会很好。谢谢
创建一个临时表,其中包含您希望从插入语句返回的字段,并将 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