我發現SQL Server中的DML觸發器。我創建了一個觸發器,將所有插入註冊到另一個表中的一個表中。我想在update語句中做同樣的事情。TRIGGER後更新 - 獲取更新的數據
我INSERT觸發器:
CREATE TRIGGER trgSuppliersLogINSERT
ON Production.Suppliers
AFTER INSERT
AS
BEGIN
insert into [Production].SuppliersLog
(SupplierID, [Action], companynameChangedTo, contacnameChangedTo, contacttitleChangedTo, addressChangedTo, cityChangedTo, regionChangedTo, postalcodeChangedTo, countryChangedTo, phoneChangedTo, faxChangedTo)
SELECT
supplierid, 'INSERT', companyname, contactname, contacttitle, address, city, region, postalcode, country, phone, fax
FROM inserted
END
GO
我試圖做同樣的與更新:
CREATE TRIGGER trgSuppliersLogINSERT
ON Production.Suppliers
AFTER UPDATE
AS
BEGIN
insert into [Production].SuppliersLog
(SupplierID, [Action], companynameChangedTo, contacnameChangedTo, contacttitleChangedTo, addressChangedTo, cityChangedTo, regionChangedTo, postalcodeChangedTo, countryChangedTo, phoneChangedTo, faxChangedTo)
SELECT
supplierid, 'UPDATE', companyname, contactname, contacttitle, address, city, region, postalcode, country, phone, fax
FROM updated
END
GO
但正如你可能知道的 '更新' 表不存在。有沒有其他方法可以將更新的數據存入我的供應商日誌表中?謝謝。
還有的插入新的數據。並刪除刪除/舊數據 –
謝謝你們,不知道刪除表甚至存在。你比我想象的更多地幫助我^^ – Skylerdw