创建存储过程。将数据从一个表插入另一个表。执行每个新条目

时间:2019-04-16 13:59:59

标签: sql sql-server stored-procedures

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

我环顾了存储过程,并在某种程度上了解了如何设置该过程,但仅在将新行插入两个表之一时,我看不到如何专门执行该过程。

表1(我要从中提取程序的表) 姓名:Review_Renewal_Policy 列(Id,UniqClient,客户端,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 

1 个答案:

答案 0 :(得分:4)

我相信这就是你所追求的。我们没有真正的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;

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