我目前正在编写许多“ AFTER INSERT, DELETE ”触发器,它们将用于在不同情况下在两个相同表之间同步数据。由于表格的设计方式,我现在遇到的问题是让 DELETE 部分工作。
该表称为“ MobileUsageReportPackageLog ”,PK 由以下列组成:UserId、DeviceId、PackageNumber。
我现在不确定如何将此表链接到“已删除”表,以确保如果删除了一条记录,那么触发器也会删除另一个表中的相同记录。
我有一种感觉,我错过了一些简单的东西,但如果有人对这种情况有任何建议或建议,我很想听听他们的意见。
提前致谢!
编辑:我应该提到,作为一个组合,所有三列都是唯一的。然而,作为单独的列,它们将包含重复数据。
截至目前的代码:
IF NOT EXISTS (SELECT * FROM inserted) AND EXISTS (SELECT * FROM deleted)
BEGIN
DELETE murpl
FROM [Audits].[dbo].[MobileUsageReportPackageLog] murpl
JOIN deleted del ON murpl.[UserId] = del.[UserId]
JOIN deleted del2 ON murpl.DeviceId = del2.[DeviceId]
JOIN deleted del3 ON murpl.[PackageNumber] = del3.[PackageNumber]
db<>在这里摆弄