【发布时间】:2017-01-08 22:57:03
【问题描述】:
我的应用程序上有两个表(我正在尝试创建错误跟踪器)。一种是我可以添加记录/问题的,另一种是用于问题历史的。
因此,第二个 (Bugs_Shadow) 表将与第一个 (Bugs) 表一起创建新记录,然后,当有人尝试修复时,我可以更新表 1 上的问题。单击更新时,我希望它将更新行作为一个整体添加到第二个表中,但也保留原始记录。因此,无论何时进行更改,都会在 Bugs_Shadow 表中创建一条新记录。我希望这是有道理的?
我已经创建了这个触发器:
CREATE TRIGGER [tr_Bugs_Insert]
ON [dbo].[Bugs]
AFTER UPDATE, INSERT
AS
BEGIN
INSERT INTO Bugs_Shadow (BugID, [User], Date, Subject, Description, [Source Code], [Current State])
SELECT BugID, [User], Date, Subject, Description, [Source Code], [Current State]
FROM Bugs
END
GO
它可以在第二个表中创建相同的条目,但是当我更新第一个表中的条目时,它在第二个表中执行相同的操作,而我希望它创建一个相同的新记录来自用户所做的更改。
希望有一些帮助。这是我第一次尝试触发器,我花了一段时间才达到这个阶段。
谢谢
【问题讨论】:
标签: c# sql-server database triggers bug-tracker