1. update()
返回一個布爾值,指示是否對錶或視圖的指定列進行了 INSERT 或 UPDATE 嘗試。
在 SQL Server 2000 中,UPDATE() 不檢測對時間戳列的更改。對於這些列,觸發器主體中的 IF UPDATE() 子句將返回 FALSE,而不考慮是否已更新列。在 SQL Server 2008 和 SQL Server 2005 中,UPDATE() 將檢測對時間戳列的更改。如果這些列已更新,則 DML 觸發器主體中的 IF UPDATE() 子句將返回 TRUE。 |
指定某列時,觸發觸發器執行操作
USE AdventureWorks2008R2; GO IF EXISTS (SELECT name FROM sys.objects WHERE name = 'reminder' AND type = 'TR') DROP TRIGGER Person.reminder; GO CREATE TRIGGER reminder ON Person.Address AFTER UPDATE AS IF ( UPDATE (StateProvinceID) OR UPDATE (PostalCode) ) BEGIN RAISERROR (50009, 16, 10) END; GO
COLUMNS_UPDATED 針對多列執行的 UPDATE 或 INSERT 操作的進行測試。功能類似於UPDATE()