Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 11.0.1 (中文) » SQL Anywhere 服务器 - SQL 参考 » 使用 SQL » SQL 语言元素 » 搜索条件

 

触发器操作条件

语法
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;
另请参见