觸發器函數

 

 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()

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章