sys.triggers (Transact-SQL)
針對每個 TR 或 TA 類型的觸發程序物件,各包含一個資料列。DML 觸發程序名稱是由結構描述限定範圍,因此會顯示在 sys.objects。而 DDL 觸發程序名稱是由父實體來限定範圍,因此只會顯示在這份檢視中。
parent_class 和 name 資料行可以唯一識別資料庫中的該觸發程序。
資料行名稱 |
資料類型 |
描述 |
---|---|---|
name |
sysname |
觸發程序名稱。DML 觸發程序名稱是由結構描述限定範圍。DDL 觸發程序名稱是以父實體來限定範圍。 |
object_id |
int |
物件識別碼。在資料庫中,這是唯一的。 |
parent_class |
tinyint |
觸發程序父系的類別。 0 = DDL 觸發程序的資料庫。 1 = DML 觸發程序的物件或資料行。 |
parent_class_desc |
nvarchar(60) |
觸發程序父類別的描述。 DATABASE OBJECT_OR_COLUMN |
parent_id |
int |
觸發程序父系的識別碼,如下所示: 0 = 以資料庫為父系的觸發程序。 對於 DML 觸發程序而言,這是定義 DML 觸發程序之資料表或檢視的 object_id。 |
type |
char(2) |
物件類型: TA = 組件 (CLR) 觸發程序 TR = SQL 觸發程序 |
type_desc |
nvarchar(60) |
物件類型的描述。 CLR_TRIGGER SQL_TRIGGER |
create_date |
datetime |
建立觸發程序的日期。 |
modify_date |
datetime |
上次利用 ALTER 陳述式來修改物件的日期。 |
is_ms_shipped |
bit |
利用內部 SQL Server 元件來代表使用者所建立的觸發程序。 |
is_disabled |
bit |
觸發程序已停用。 |
is_not_for_replication |
bit |
觸發程序是建立為 NOT FOR REPLICATION。 |
is_instead_of_trigger |
bit |
1 = INSTEAD OF 觸發程序 0 = AFTER 觸發程序。 |