我正在尝试创建一个触发器,只要插入或更新table1中的记录,就会将记录插入到table2中。这个想法是创建一个记录在表1中的每个“状态”的历史记录(table2)。
由于
答案 0 :(得分:0)
这是一个UPDATE触发器:
CREATE TRIGGER [dbo].[trVEHICLE_DEBUGLOG]
ON [dbo].[VEHICLE] AFTER UPDATE
AS
DECLARE @ID BIGINT = (SELECT ID FROM INSERTED)
DECLARE @NEWVALUE BIGINT = (SELECT VEHICLEGROUPID FROM INSERTED)
DECLARE @OLDVALUE BIGINT = (SELECT VEHICLEGROUPID FROM DELETED WHERE ID = @ID)
IF (@NEWVALUE <> @OLDVALUE) BEGIN
INSERT INTO dbo.DEBUGLOG(DEBUGTABLE, DEBUGCOLUMN, DEBUGID, DEBUGOLDVALUE, DEBUGNEWVALUE, DEBUGDATETIME)
VALUES
('VEHICLE','VEHICLEGROUPID', @ID, @OLDVALUE, @NEWVALUE, GETDATE())
END
GO
答案 1 :(得分:0)
在INSERT和UPDATE上使用触发器是一种很好的做法。在创建之前,请确保您理解它。您可以使用以下链接作为参考
https://docs.microsoft.com/en-us/sql/t-sql/statements/create-trigger-transact-sql