第7节oracle10g数据库管理系统资料.ppt

第7节oracle10g数据库管理系统资料

创建触发器 创建触发器的一般语法是: CREATE [OR REPLACE] TRIGGER trigger_name {BEFORE | AFTER } {INSERT | DELETE | UPDATE [OF column [, column …]]} ON [schema.] table_name [FOR EACH ROW ] trigger_body; 触发器触发次序 执行 BEFORE语句级触发器; 对与受语句影响的每一行: 执行 BEFORE行级触发器 执行 DML语句 执行 AFTER行级触发器? 执行 AFTER语句级触发器 创建DML触发器 触发器名与过程名和包的名字不一样,它是单独的名字空间,因而触发器名可以和表或过程有相同的名字,但在一个模式中触发器名不能相同。 DML触发器的限制 CREATE TRIGGER语句文本的字符长度不能超过32KB; 触发器体内的SELECT 语句只能为SELECT … INTO …结构,或者为定义游标所使用的SELECT 语句。 触发器中不能使用数据库事务控制语句 COMMIT; ROLLBACK, SVAEPOINT 语句; 由触发器所调用的过程或函数也不能使用数据库事务控制语句; 触发器中不能使用LONG, LONG RAW 类型; 触发器内可以参照LOB 类型列的列值,但不能通过 :NEW 修改LOB列中的数据;

文档评论(0)

1亿VIP精品文档

相关文档