# SYSTRIGGERS system table

Describes the database's triggers.

Column Name | Type | Length | Nullability | Contents
--- | --- | --- | --- | ---
TRIGGERID | CHAR | 36 | false | unique identifier for the trigger
TRIGGERNAME | VARCHAR | 128 | false | name of the trigger
SCHEMAID | CHAR | 36 | false | id of the trigger's schema (join with SYSSCHEMAS. SCHEMAID)
CREATIONTIMESTAMP | TIMESTAMP |  | false | time the trigger was created
EVENT | CHAR | 1 | false | 'U' for update, 'D' for delete, 'I' for insert
FIRINGTIME | CHAR | 1 | false | 'B' for before 'A' for after
TYPE | CHAR | 1 | false | 'R' for row, 'S' for statement
STATE | CHAR | 1 | false | 'E' for enabled, 'D' for disabled
TABLEID | CHAR | 36 | false | id of the table on which the trigger is defined
WHENSTMTID | CHAR | 36 | true | used only if there is a WHEN clause (not yet supported)
ACTIONSTMTID | CHAR | 36 | true | id of the stored prepared statement for the triggered-SQL-statement (join with SYSSTATEMENTS. STMTID)
REFERENCEDCOLUMNS | org.apache.derby.catalog. ReferencedColumns: This class is not part of the public API. |  | true | descriptor of the columns referenced by UPDATE triggers
TRIGGERDEFINITION | LONG VARCHAR |  | true | text of the action SQL statement
REFERENCINGOLD | BOOLEAN |  | true | whether or not the OLDREFERENCINGNAME, if non-null, refers to the OLD row or table
REFERENCINGNEW | BOOLEAN |  | true | whether or not the NEWREFERENCINGNAME, if non-null, refers to the NEW row or table
OLDREFERENCINGNAME | VARCHAR | 128 | true | pseudoname as set using the REFERENCING OLD AS clause
NEWREFERENCINGNAME | VARCHAR | 128 | true | pseudoname as set using the REFERENCING NEW AS clause

Any SQL text that is part of a triggered-SQL-statement is compiled and stored in SYSSTATEMENTS. ACTIONSTMTID and WHENSTMTID are foreign keys that reference SYSSTATEMENTS.STMTID. The statements for a trigger are always in the same schema as the trigger.

Parent topic: Derby system tables