Adaptive Server Anywhere 的命令参考
此语句用于在数据库中创建新触发器。它是一种形式的触发器,专门设计用于 SQL Remote。
CREATE TRIGGER trigger-name trigger-time
trigger-event, ...
[ ORDER integer ] ON table-name
[ REFERENCING [ OLD AS old-name ]
[ NEW AS new-name ] ]
[ REMOTE AS remote-name ] ]
[ FOR EACH { ROW | STATEMENT } ]
[ WHEN ( search-condition ) ]
[ IF UPDATE ( column-name ) THEN
[ { AND | OR } UPDATE ( column-name ) ] ... ]
compound-statement
[ ELSEIF UPDATE ( column-name ) THEN
[ { AND | OR } UPDATE ( column-name ) ] ...
compound-statement
END IF ] ]
trigger-time:
BEFORE | AFTER | RESOLVE
trigger-event:
DELETE | INSERT | UPDATE
| UPDATE OF column-name [, column-name, ...]
trigger-time(触发时间) 可以定义行级触发器在插入、更新或删除之前 (BEFORE) 或之后 (AFTER) 执行。语句级触发器在语句后 (AFTER) 执行。RESOLVE 触发器时间用于 SQL Remote:它只在行级 UPDATE 或 UPDATE OF 列列表之前触发。
只要行中发生更新,BEFORE UPDATE 触发器就会触发,而不论新值是否与旧值不同。AFTER UPDATE 触发器只在新值与旧值不同时才触发。
Trigger events(触发器事件) 触发器可以由以下一个或多个事件触发:
DELETE(删除) 每当删除关联表中的行时激活。
INSERT(插入) 每当有新行插入到与触发器关联的表中时激活。
UPDATE 每当更新关联表中的行时激活。
UPDATE OF column-list(列列表更新) 每当更新关联表中的行和修改 column-list 中的列时激活。
任何地方。
必须有 RESOURCE 权限和表的 ALTER 权限,或者必须有 DBA 权限。CREATE TRIGGER 将对表进行表锁定,因此需要对表进行排它使用。
自动提交。
CREATE TRIGGER 语句 [SQL Remote]
SQL Anywhere Studio 9.0.2
版权所有 © 1989–2005 Sybase, Inc. 部分版权所有 © 2001–2005 iAnywhere Solutions, Inc. 保留所有权利。