Oracle数据库有哪些触发器?

Oracle 数据库有 4 种触发器

  • DML:当发出UPDATE、INSERT、DELETE命令就可以触发已定义好的 DML 触发器
语法:
create or replace trigger trigger_name
after|before insert|update|delete
on table_name
for each row
  • Instead-of:向一个由多个表联接成的视图作 DML 操作时可以用 Instead-of 触发器
语法:
create or replace trigger trigger_name
instead of insert|update|delete
on view_name
for each row
  • DDL:当发出CREATE、ALTER、DROP、TRUNCATE命令时会触发已定义好的DDL触发器,这种触发器可以用来监控某个用户或整个数据库的所有对象的结构变化
语法:
create or replace trigger trigger_name
before|after create|alter|drop|truncate
on schema|database
  • DB:当STARTUP、SHUTDOWN、LOGON、LOGOFF数据库时就会触发DB事件触发器,这种触发器可以用来监控数据库什么时候关闭/打,或者用户的LOGON/LOGOFF数据库情况
语法:
create or replace trigger trigger_name
before|after startup|shutdown|logon|logoff
on database

一般应用系统中用到 DML、Instead-of;DDL、DB 两种触发器是 DBA 管理数据库用得比较多

要创建 DDL 和 DB 这两种触发器必须有 DBA 的权限


【Java面试题与答案】整理推荐

发布了418 篇原创文章 · 获赞 1442 · 访问量 152万+

猜你喜欢

转载自blog.csdn.net/meism5/article/details/104219058