WEB开发网
开发学院数据库Oracle Oracle数据库中有关触发器问题 阅读

Oracle数据库中有关触发器问题

 2008-08-19 12:42:38 来源:WEB开发网   
核心提示: ON 表名WHEN 触发条件[FOR EACH ROW]DECLARE声明部分BEGIN主体部分END;其中:触发器名:触发器对象的名称,由于触发器是数据库自动执行的,Oracle数据库中有关触发器问题(2),因此该名称只是一个名称,没有实质的用途,表 名:数据库触发器所在的表,for e

ON 表名

WHEN 触发条件

[FOR EACH ROW]

DECLARE

声明部分

BEGIN

主体部分

END;

其中:

触发器名:触发器对象的名称。由于触发器是数据库自动执行的,因此该名称只是一个名称,没有实质的用途。一个触发器可由多个不同的数据操纵语言操作触发。在触发器中,可用INSERTING、DELETING、UPDATING谓词来区别不同的数据操纵语言操作。这些谓词可以在IF分支条件语句中作为判断条件来使用。

触发时间:指明触发器何时执行,该值可取, 触发的时间有BEFORE和AFTER两种,分别表示触发动作发生在DML语句执行之前和语句执行之后。确定触发级别,有语句级触发器和行级触发器两种。语句级触发器表示SQL语句只触发一次触发器,行级触发器表示SQL语句影响的每一行都要触发一次。

Before:表示在数据库动作之前触发器执行;在SQL语句的执行过程中,如果存在行级BEFORE触发器,则SQL语句在对每一行操作之前,都要先执行一次行级BEFORE触发器,然后才对行进行操作。如果存在行级AFTER触发器,则SQL语句在对每一行操作之后,都要再执行一次行级AFTER触发器。

after:表示在数据库动作之后出发器执行。如果存在语句级AFTER触发器,则在SQL语句执行完毕后,要最后执行一次语句级AFTER触发器。

触发事件:指明哪些数据库动作会触发此触发器,指INSERT、DELETE或UPDATE事件,事件可以并行出现,中间用OR连接;

insert:数据库插入会触发此触发器;

update:数据库修改会触发此触发器;

delete:数据库删除会触发此触发器。

表 名:数据库触发器所在的表。

for each row:表示触发器为行级触发器,省略则为语句级触发器,对表的每一行触发器执行一次。

Tags:Oracle 数据库 有关

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接