Oracle数据库触发器的组成是怎样的?
一个触发器有三个基本部件:触发事件或语句、触发器的限制、触发器动作。 触发事件或语句:为引起触发器激发的SQL语句,是对指定表INSERT、UPDATE或DELETE语句。 触发器限制:为一布尔表达式,当触发器激发时该条件必须为TRUE。 触发器的限制是用WHEN子句来指定。 触发器的动作:为一个PL/SQL块(过程),由SQL语句和PL/SQL语句组成。当触发语句发出,触发器的限制计算得TRUE时,它被执行。在触发器动作的语句中,可使用触发器的处理的当前行的列值(新值、老值),使用形式为: NEW。 列名 引用新值 OLE。列名 引用老值 在定义触发器时可指定触发器动作执行次数:受触...全部
一个触发器有三个基本部件:触发事件或语句、触发器的限制、触发器动作。 触发事件或语句:为引起触发器激发的SQL语句,是对指定表INSERT、UPDATE或DELETE语句。 触发器限制:为一布尔表达式,当触发器激发时该条件必须为TRUE。
触发器的限制是用WHEN子句来指定。 触发器的动作:为一个PL/SQL块(过程),由SQL语句和PL/SQL语句组成。当触发语句发出,触发器的限制计算得TRUE时,它被执行。在触发器动作的语句中,可使用触发器的处理的当前行的列值(新值、老值),使用形式为: NEW。
列名 引用新值 OLE。列名 引用老值 在定义触发器时可指定触发器动作执行次数:受触发语句影响每一行执行一次或是对触发语句执行一次。 对每一触发语句可有四种类型触发器: 行触发器:对受触发语句所影响的每一行,行触发器激发一次。
语句触发器:该类型触发器对触发语句执行一次,不管其受影响行数。 定义触发器可以指定触发时间,指定激发器动作的执行相对于触发语句执行之后或之前。 BEFORE触发器:该触发器执行触发器动作是在触发语句执行之前。
AFTER触发器:该触发器执行触发器动作是在触发语句执行之后。 一个触发器可处于两种不同的方式:使能触发器和使不能触发器。 使能触发器:只要当触发语句发出,触发器限制计算为TRUE,这种类型的触发器执行其触发动作。
使不能触发器:这种触发器即使其触发语句被发出,触发器限制计算为TRUE,也不执行触发器动作。 触发器的源代码存储在数据库中,在第一次执行时,触发器的源代码被编译,存储在共享池中。如果触发器从共享池中挤了,再使用时必须再重新编译。
以上是我对于这个问题的解答,希望能够帮到大家。收起