大家好,小爱来为大家解答以上问题。oracle触发器是什么,oracle触发器很多人还不知道,现在让我们一起来看看吧!
1、如执行DML语句(使用INSERT、UPDATE和DELETE语句对表或视图进行数据处理操作);执行DDL语句(CREATE、ALTER和DROP语句来创建、修改和删除数据库中的模式对象);触发数据库系统事件(如系统启动或退出,产生异常错误等。);引发用户事件,如登录或注销数据库操作。
2、关键词:
3、Trigger:表示创建触发器的关键字,就像创建存储过程的关键字“produce”一样。
4、Before | after | instead:表示“出发时间”的关键字。之前是指在执行DML等操作之前触发,
5、这种方式可以防止一些错误操作的发生,方便回滚或者实现一些业务规则;After是指发生在DML等操作之后,方便记录操作或者做一些后期处理信息;Instead of指示触发器是替代触发器。
6、On:数据表、视图、用户模式、数据库等。代表操作。对它们执行一些数据操作(如插入、修改、删除等。)将导致触发器运行。
7、For each row:指定触发器是行级触发器,它将在DML语句对每一行数据进行操作时运行。如果未指定该条件,则意味着创建了语句级触发器,无论数据操作影响多少行,
8、触发器只执行一次。
9、语法中的参数和描述:
10、Tri_name:触发器的名称。如果该名称已经存在于数据库中,您可以指定关键字“或替换”,以便新触发器将覆盖原始触发器。
11、Tri _ event: trigger events, such as commonly used insert, update, delete, create, change, delete, etc.
12、table _ name | view _ name | user _ name | db _ name:分别代表操作的数据表、视图、用户模式和数据库,对它们的某些操作会导致触发器运行。
13、Tri_condition:表示触发器的条件表达式。只有当表达式的值为true时,触发器才会在触发事件发生时自动执行,这样它才能执行触发操作;否则,即使发生触发事件,也不会执行触发器。
14、Plsql _ sentences: PL/SQL语句,是触发函数实现的主体。
15、Oracle支持的触发器分为以下五类:
16、行级触发器:当DML语句对每一行数据进行操作时,将导致触发器运行。
17、语句级触发器:不管一条DML语句影响多少行数据,它引起的触发器只执行一次。
18、替换触发器:该触发器是在视图上定义的,而不是在表上定义的。它用于替换实际使用的语句。
19、用户事件触发器:指与DDL操作或事件(如用户登录或注销数据库)相关的触发器。例如,用户登录数据库或使用ALTER语句修改表结构。
20、系统事件触发器:指Oracle数据库系统发生事件时触发的触发器,如Oracle实例的启动和关闭。
本文到此结束,希望对大家有所帮助。