trigger-operation: INSERTING | DELETING | UPDATING [ ( column-name-string ) ] | UPDATE ( column-name )
触发器操作条件只能用在触发器中,根据激发触发器的操作种类来完成操作。
UPDATING 的参数是用引号引起的字符串(例如,UPDATING( 'mycolumn' )
)。UPDATE 的参数是一个标识符(例如,UPDATE( mycolumn )
)。两种版本可以互操作,包括这两种版本是为了与其他供应商的 DBMS 的 SQL 方言兼容。
如果您提供一个 UPDATING 或 UPDATE 函数,则还必须在 CREATE TRIGGER 语句中提供一个 REFERENCING 子句以避免出现语法错误。
下面的触发器显示一条消息,说明哪个操作导致激发触发器。
CREATE TRIGGER tr BEFORE INSERT, UPDATE, DELETE ON sample_table REFERENCING OLD AS t1old FOR EACH ROW BEGIN DECLARE msg varchar(255); SET msg = 'This trigger was fired by an '; IF INSERTING THEN SET msg = msg || 'insert' ELSEIF DELETING THEN set msg = msg || 'delete' ELSEIF UPDATING THEN set msg = msg || 'update' END IF; MESSAGE msg TO CLIENT END; |
Copyright © 2009, iAnywhere Solutions, Inc. - SQL Anywhere 11.0.1 |