Database 版 (精华区)
发信人: mm (绿色的梦), 信区: Database
标 题: 数据库技术专题(四)-----触发器(3)
发信站: 紫丁香 (Mon Sep 22 20:42:46 1997)
三 SYBASE数据库触发器
SYBASE数据库触发器的作用与ORACLE非常类似,仅有较小的差异。
SYBASE产生触发器的语法为:
CREATE TRIGGER 触发器名
ON 表名
FOR INSERT,UPDATE,DELETE
AS
SQL_statement |
FOR INSERT,UPDATE
AS
IF UPDATE(column_name) [AND|OR UPDATE(column_name)]...
SQL_statements
上面FOR子句用来指定在触发器上的哪些数据更新命令可激活该
触发器。IF UPDATE子句检查对指定列的操作类型,在IF UPDATE子句
中可指定多个列。
与ORACLE不同,对于每条SQL语句,触发器只执行一次。触发器
在数据更新语句完成以后立即执行。触发器和启动它的语句被当作一
个事务处理,事务可以在触发器中回退。
下面举例说明SYBASE触发器的写法。
create trigger forinsert_books
on books
for insert
as
if(select count(*) from auths,inserted
where auths.author_code=insert.author_code)!=@@rowcount
begin
rollback transaction
print "books 表中 author_code 列的值在auths 表中不存在。"
end
--
_/ _/ _/ _/
_/_/ _/_/ _/_/ _/_/
_/ _/ _/ _/ _/ _/
_/ _/ _/ _/
_/ _/ _/ _/
※ 来源:.紫丁香 pclinux.hit.edu.cn.[FROM: space.hit.edu.c]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:2.348毫秒