首页 > 解决方案 > 创建存储过程。将数据从一个表插入到另一个表中。执行每个新条目

问题描述

我有两张桌子。我需要一个存储过程(或触发器),它在每次将新条目添加到其中一个表时执行。获取该特定行并将其插入另一个表中。

我已经查看了存储过程,并在一定程度上了解了如何设置该过程,但我看不到如何仅在将新行插入两个表之一时具体执行该过程。

表 1(我希望程序从中提取的表)名称:Reviewed_Renewal_Policy 列(Id、UniqClient、Client、DateCreated、InsertedBy)

这些值是通过不同的过程插入的。所以,价值观已经存在。

表 2(在此处插入这些值) 名称:tblLogPolicyRenewalNotes

每次将新条目插入表 1 时执行此过程 (Reviewed_Renewal_Policy)

我可以通过后面的 C# 代码来做到这一点,但这是我可以在后端完成的多余代码。任何帮助将不胜感激。

编辑:这是为了显示我想要插入的数据

AFTER NEW INSERT (FROM Table name Reviewed_Renewal_Policy)
COLUMNS(Id, UniqClient, Client, DateCreated, InsertedBy)
VALUES (447, 73567, 'Aspirations Inc', '2019-04-01 00:00:00.000', 'jSmith')


INTO Table Name tblLogPolicyRenewalNotes 
Values above 

标签: sqlsql-serverstored-procedures

解决方案


我相信这就是你所追求的。我们没有真正的 DDL,所以如果有任何列名需要更正,您需要修复这些:

CREATE TRIGGER DuplicateInsert ON dbo.Reviewed_Renewal_Policy 
AFTER INSERT AS BEGIN

    INSERT INTO dbo.tblLogPolicyRenewalNotes(Id, UniqClient, Client, DateCreated, InsertedBy)
    SELECT Id, UniqClient, Client, DateCreated, InsertedBy
    FROM inserted;

END;

显然,您可以将触发器重命名为其他名称。


推荐阅读