Home > Class Reference > %SYS namespace > %Dictionary.TriggerDefinition


persistent class %Dictionary.TriggerDefinition extends %Library.Persistent, %Dictionary.TriggerDefinitionQuery

SQL Table Name: %Dictionary.TriggerDefinition


parameter SQLENABLED = 1;


property Code as %CacheString;
The code that is executed when the trigger is fired.
Property methods: CodeGet(), CodeIsValid(), CodeModeGet(), CodeModeIsValid(), CodeModeSet(), CodeSet()
property CodeMode as %CacheString [ InitialExpression = "code" ];
Specifies how a given method is implemented: lines of code to be compiled, or a method that will generate the resulting method or object.
Property methods: CodeModeGet(), CodeModeIsValid(), CodeModeSet()
property Deprecated as %Boolean [ InitialExpression = 0 ];
True if this trigger is deprecated.
Property methods: DeprecatedDisplayToLogical(), DeprecatedGet(), DeprecatedIsValid(), DeprecatedLogicalToDisplay(), DeprecatedNormalize(), DeprecatedSet()
property Description as %CacheString;
Specifies a description of the SQL trigger.
Property methods: DescriptionGet(), DescriptionIsValid(), DescriptionSet()
property Event as %CacheString;
Specifies the SQL event that will fire the trigger.
Property methods: EventGet(), EventIsValid(), EventSet()
property Final as %Boolean [ InitialExpression = 0 ];
Specifies that subclasses cannot override the definition of the SQL trigger.
Property methods: FinalDisplayToLogical(), FinalGet(), FinalIsValid(), FinalLogicalToDisplay(), FinalNormalize(), FinalSet()
property Foreach as %CacheString;
Indicates if the trigger will be invoked for each row, for rows and objects, or for each statement
Property methods: ForeachGet(), ForeachIsValid(), ForeachSet()
property Internal as %Boolean [ InitialExpression = 0 ];
If true, then do not display this item in automatic documentation.
Property methods: InternalDisplayToLogical(), InternalGet(), InternalIsValid(), InternalLogicalToDisplay(), InternalNormalize(), InternalSet()
property Language as %CacheString [ SqlFieldName = _Language ];
The language used to implement this trigger.
Property methods: LanguageGet(), LanguageIsValid(), LanguageSet()
property Name as %Dictionary.CacheIdentifier [ Required ];
The name of the SQL trigger.
Property methods: NameGet(), NameIsValid(), NameSet()
property NewTable as %CacheString;
The name of the SQL table that holds old values for the trigger.
Property methods: NewTableGet(), NewTableIsValid(), NewTableSet()
property OldTable as %CacheString;
The name of the SQL table that holds old values for the trigger.
Property methods: OldTableGet(), OldTableIsValid(), OldTableSet()
property Order as %Integer [ InitialExpression = 0 ];
In the case of multiple triggers for the same EVENT and TIME, specifies the order in which the triggers should be fired.
Property methods: OrderDisplayToLogical(), OrderGet(), OrderIsValid(), OrderLogicalToDisplay(), OrderNormalize(), OrderSet()
property SequenceNumber as %Integer [ InitialExpression = 0 ];
Property methods: SequenceNumberDisplayToLogical(), SequenceNumberGet(), SequenceNumberIsValid(), SequenceNumberLogicalToDisplay(), SequenceNumberNormalize(), SequenceNumberSet()
property SqlName as %CacheString;
Specifies an alternate name when this trigger is used by SQL.
Property methods: SqlNameGet(), SqlNameIsValid(), SqlNameSet()
property Time as %CacheString [ SqlFieldName = _Time , InitialExpression = "BEFORE" ];
Specifies whether the trigger is fired before or after the EVENT.
Property methods: TimeGet(), TimeIsValid(), TimeSet()
property UpdateColumnList as %CacheString;
Specifies one or more columns whose modification causes the trigger to be pulled by SQL.
Property methods: UpdateColumnListGet(), UpdateColumnListIsValid(), UpdateColumnListSet()
relationship parent as %Dictionary.ClassDefinition [ Required , Inverse = Triggers , Cardinality = parent ];
Pointer to the containing parent object
Property methods: parentCheck(), parentDelete(), parentGet(), parentGetObject(), parentGetObjectId(), parentGetSwizzled(), parentIsValid(), parentNewObject(), parentOnDelete(), parentRClose(), parentRExec(), parentRFetch(), parentRelate(), parentSQLCompute(), parentSet(), parentSetObject(), parentSetObjectId(), parentUnRelate(), parentUnSwizzle()


classmethod %Exists(oid As %ObjectIdentity) as %Boolean
Inherited description: Checks to see if the object identified by the OID oid exists in the extent.

Returns %Boolean TRUE if it exists, FALSE if it does not.

classmethod %LockId(id As %String, shared As %Boolean = 0, timeout As %Integer) as %Status
Inherited description: Obtain an exclusive or shared lock on the object identified by id. The type of lock obtained is determined by shared. This method is normally generated by the storage class for persistent classes using %Library.CacheStorage or %Library.CacheSQLStorage.
classmethod %UnlockId(id As %String, shared As %Boolean = 0, immediate As %Boolean = 0) as %Status
Inherited description: Release an exclusive or shared lock on the object identified by id. The type of lock released is determined by shared. If this method is not overridden then the default implementation returns an error. This method is normally generated by the storage class for persistent classes using %Library.CacheStorage or %Library.CacheSQLStorage.
classmethod CodeModeIsValid(val As %String) as %Status
classmethod EventIsValid(val As %String) as %Status
classmethod ForeachIsValid(val As %String) as %Status
classmethod LanguageIsValid(val As %String) as %Status
classmethod TimeIsValid(val As %String) as %Status
classmethod parentOnDelete(id As %String, concurrency As %Integer) as %Status

Inherited Methods

%AddToSaveSet() %GUID() %PackageName()
%AddToSyncSet() %GUIDSet() %PurgeIndices()
%BuildIndices() %GetLock() %Reload()
%CheckConstraints() %GetParameter() %RemoveFromSaveSet()
%CheckConstraintsForExtent() %GetSwizzleObject() %ResolveConcurrencyConflict()
%ClassIsLatestVersion() %Id() %RollBack()
%ClassName() %IsA() %Save()
%ComposeOid() %IsModified() %SaveDirect()
%ConstructClone() %IsNull() %SerializeObject()
%Delete() %KillExtent() %SetModified()
%DeleteExtent() %LockExtent() %SortBegin()
%DeleteId() %New() %SortEnd()
%DispatchClassMethod() %NormalizeObject() %SyncObjectIn()
%DispatchGetModified() %ObjectIsNull() %SyncTransport()
%DispatchGetProperty() %ObjectModified() %UnlockExtent()
%DispatchMethod() %Oid() %ValidateIndices()
%DispatchSetModified() %OnBeforeAddToSync() %ValidateObject()
%DispatchSetMultidimProperty() %OnDetermineClass() SummaryClose()
%DispatchSetProperty() %Open() SummaryExecute()
%ExistsId() %OpenId() SummaryFetch()
%Extends() %OriginalNamespace()


index (IDKEY on Name) [IdKey, Type = key];
Index methods: IDKEYCheck(), IDKEYDelete(), IDKEYExists(), IDKEYOpen(), IDKEYSQLCheckUnique(), IDKEYSQLExists(), IDKEYSQLFindPKeyByConstraint(), IDKEYSQLFindRowIDByConstraint()


trigger OnDelete (AFTER event DELETE);
trigger OnInsertUpdate (BEFORE event INSERT/UPDATE);