SQL 触发器将更新更改复制到另一个 table
SQL Triggers to duplicate update changes to another table
所以我有一个间歇性问题,需要临时修复。
(某些问题导致间歇性出现两个 table 问题(每 3-4 周一次))
一个 table 被完全清除,另一个似乎删除了个人记录...
由于这是一个持续存在的问题,我们仍在调查主要原因,但需要临时修复。
因此我已经为每个 table 设置了第二个 "Backup" table 并且正在尝试设置触发器以复制所有插入和更新命令
我已经毫无问题地创建了插入触发器。
ALTER Trigger [dbo].[MainInsertBackup]
On [dbo].[tblMain] AFTER INSERT AS
BEGIN
INSERT INTO tblMainBackup
SELECT * FROM inserted
END
现在我需要一个对更新执行相同操作的触发器(在 tblMainBackup 上执行更新)。
通过这种方式,我应该确保备份 table 具有来自主文件的所有信息,但是如果某个记录以某种方式被删除,它可以从备份 table 复制回主文件 table。
只有我发现的示例在更新时在各个字段中执行更新,或者将更新时的全新记录插入到日志中 table。
欢迎提供任何帮助。
您可以尝试使用此 UPDATE 触发器更新 tblMainbackup 中的行,同时更新 tblMain 中的行 table
CREATE Trigger [dbo].[MainUpdateBackup]
On [dbo].[tblMain] AFTER UPDATE AS
BEGIN
UPDATE tblMainbackup
SET tblMainbackup.col1 = i1.col1,
tblMainbackup.col2 = i1.col2,
tblMainbackup.col3 = i1.col3
FROM tblMainbackup t1
INNER JOIN inserted i1
ON t1.Id = i1.ID
END
所以我有一个间歇性问题,需要临时修复。
(某些问题导致间歇性出现两个 table 问题(每 3-4 周一次))
一个 table 被完全清除,另一个似乎删除了个人记录...
由于这是一个持续存在的问题,我们仍在调查主要原因,但需要临时修复。
因此我已经为每个 table 设置了第二个 "Backup" table 并且正在尝试设置触发器以复制所有插入和更新命令
我已经毫无问题地创建了插入触发器。
ALTER Trigger [dbo].[MainInsertBackup]
On [dbo].[tblMain] AFTER INSERT AS
BEGIN
INSERT INTO tblMainBackup
SELECT * FROM inserted
END
现在我需要一个对更新执行相同操作的触发器(在 tblMainBackup 上执行更新)。
通过这种方式,我应该确保备份 table 具有来自主文件的所有信息,但是如果某个记录以某种方式被删除,它可以从备份 table 复制回主文件 table。
只有我发现的示例在更新时在各个字段中执行更新,或者将更新时的全新记录插入到日志中 table。
欢迎提供任何帮助。
您可以尝试使用此 UPDATE 触发器更新 tblMainbackup 中的行,同时更新 tblMain 中的行 table
CREATE Trigger [dbo].[MainUpdateBackup]
On [dbo].[tblMain] AFTER UPDATE AS
BEGIN
UPDATE tblMainbackup
SET tblMainbackup.col1 = i1.col1,
tblMainbackup.col2 = i1.col2,
tblMainbackup.col3 = i1.col3
FROM tblMainbackup t1
INNER JOIN inserted i1
ON t1.Id = i1.ID
END