sql - 创建存储过程。将数据从一个表插入到另一个表中。执行每个新条目
问题描述
我有两张桌子。我需要一个存储过程(或触发器),它在每次将新条目添加到其中一个表时执行。获取该特定行并将其插入另一个表中。
我已经查看了存储过程,并在一定程度上了解了如何设置该过程,但我看不到如何仅在将新行插入两个表之一时具体执行该过程。
表 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
解决方案
我相信这就是你所追求的。我们没有真正的 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;
显然,您可以将触发器重命名为其他名称。