Oracle 中建立触发器的语法如下,图片引自Oracle网站:

其中DML Event Clause为:

其中referencing_clause为:

一般来说建立after的触发器效率比较高,为了提高效率,我们应该细化限制触发的条件,比如指定字段和值的范围才触发:

CREATE TRIGGER hr.salary_check

BEFORE INSERT OR UPDATE OF salary, job_id ON hr.employees

FOR EACH ROW

WHEN (new.job_id <> 'AD_VP')

pl/sql_block ......

触发器和引起触发的SQL是同一个事务,除非用PRAGMA AUTONOMOUS_TRANSACTION参数指定自治事务,但可能会出现数据结果不一致的问题。

 

发表评论

电子邮件地址不会被公开。 必填项已用 * 标注

*

您可以使用这些 HTML 标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>