(Oracle应用开发与实战)第7章 过程、函数、触发器和包.ppt

(Oracle应用开发与实战)第7章 过程、函数、触发器和包.ppt

7.3.3 行级别触发器 不言而喻,行级触发器会针对DML操作所影响的每一行数据都执行一次触发器。创建这种触发器时,必须在语法中使用for each for这个选项。使用行级触发器的一个典型应用就是给数据表生成主键值,下面就来讲解这个典型应用的实现过程。 (1)为了使用行级触发器生成数据表中的主键值,首先需要创建一个带有主键列的表数据表,来看下面的例子。 【例7-24】 在scot模式下,创建一个用于存储商品种类的数据表,其中包括商品序号列和商品名称列,代码及运行结果如下。 SQL create table goods 2 ( 3 id int primary key, 4 good_name varchar2(50) 5 ); 表已创建。 在上面的代码中,id列就是goods表的主键,因为在创建该列时指定了“primary key”关键字,主键列的值要求不能重复,这一点很重要。 (2)为了给goods表的id列生成不能重复的有序值,这里需要创建一个序列(一种数据库对象,在后面章节中会讲到),来看下面的例子。 替换触发器——即instead of触发器。与其它类型触发器不同是,替换触发器定义在视图(一种数据库对象,在后面章节中会讲解到)上的,而不是定义在表上。由于视图是由多个基表连接组成的逻辑结构,所以一般不允许

文档评论(0)

1亿VIP精品文档

相关文档