Difference between revisions of "CREATE TRIGGER"

From Lianjapedia
Jump to: navigation, search
Line 5: Line 5:
 
CREATE TRIGGER ON [<database>!]&#060;table&#062;
 
CREATE TRIGGER ON [<database>!]&#060;table&#062;
  
FOR UPDATE | INSERT | DELETE
+
FOR DELETE | ONAFTERDELETE | INSERT | ONAFTERINSERT | UPDATE | ONAFTERUPDATE
  
 
AS <expression>
 
AS <expression>
Line 18: Line 18:
 
!width="50%"|Trigger||Operation
 
!width="50%"|Trigger||Operation
 
|-
 
|-
|UPDATE||Attempt to modify an existing record
+
|DELETE||Attempt to delete an existing record.  Corresponds to onbeforedelete trigger in listings.
 
|-
 
|-
|INSERT||Attempt to add a new record
+
|ONAFTERDELETE||After deleting an existing record
 
|-
 
|-
|DELETE||Attempt to delete an existing record
+
|INSERT||Attempt to add a new record.  Corresponds to onbeforeinsert trigger in listings.
 +
|-
 +
|ONAFTERINSERT||After adding a new record
 +
|-
 +
|UPDATE||Attempt to modify an existing record.  Corresponds to onbeforeupdate trigger in listings.
 +
|-
 +
|ONAFTERUPDATE||After modifying an existing record
 
|-
 
|-
 
|}
 
|}
Line 35: Line 41:
 
|table||The name of the table
 
|table||The name of the table
 
|-
 
|-
|FOR UPDATE | INSERT | DELETE||Specifies the type of trigger to be created.
+
|FOR DELETE &#124; ONAFTERDELETE &#124; INSERT &#124; ONAFTERINSERT &#124; UPDATE &#124; ONAFTERUPDATE||valign="top"|Specifies the type of trigger to be created.
 
|-
 
|-
 
|expression||A logical expression to be evaluated
 
|expression||A logical expression to be evaluated

Revision as of 08:51, 24 October 2013

Purpose

Creates a trigger for a table

Syntax

CREATE TRIGGER ON [<database>!]<table>

FOR DELETE | ONAFTERDELETE | INSERT | ONAFTERINSERT | UPDATE | ONAFTERUPDATE

AS <expression>

See Also

ADD TABLE, ALTER INDEX, ALTER TABLE, CONSTRAINTS, DATA TYPES, DELETE TRIGGER, DROP TABLE, GETENV(), INSERT, SELECT, SET AUTOCATALOG, SET XMLFORMAT,

Description

The CREATE TRIGGER command is used to create a trigger for the specified table. Triggers cause the logical <expression> to be evaluated when certain operations are attempted.

Trigger Operation
DELETE Attempt to delete an existing record. Corresponds to onbeforedelete trigger in listings.
ONAFTERDELETE After deleting an existing record
INSERT Attempt to add a new record. Corresponds to onbeforeinsert trigger in listings.
ONAFTERINSERT After adding a new record
UPDATE Attempt to modify an existing record. Corresponds to onbeforeupdate trigger in listings.
ONAFTERUPDATE After modifying an existing record

If the <expression> evaluates to False (.F.) the operation does not complete. If the <expression> evaluates to True (.T.) the operations does complete.

Keywords Description
database The name of the database to which the table belongs.
table The name of the table
FOR DELETE | ONAFTERDELETE | INSERT | ONAFTERINSERT | UPDATE | ONAFTERUPDATE Specifies the type of trigger to be created.
expression A logical expression to be evaluated

Example

USE accounts
CREATE TRIGGER ON customer FOR UPDATE AS not empty(CustName)