oracle触发器

蹲街弑〆低调 提交于 2019-11-27 00:27:09

 

 

1. 什么是触发器?

  当用户满足某一条件(如:登陆数据库, insert, update, delete,create等等)时, 会引起某个存储过程的

  自动执行, 我们把这个隐含被调用的存储过程就称为触发器.

2.触发器的分类

  dml触发器    # insert delete update

  ddl触发器    # create table; create view; drop...

  系统触发器  # 与系统行为有关的触发器, 如登陆, 退出, 启动/关闭数据库等

3.创建触发器

  create or replace trigger trigger_name    # trigger_name为自定义的触发器名称

  { before | after }    # 设定在之前/之后触发

  { insert|delete|update [of column1, column2]}  # 设定触发的条件

  on 方案.表名      # 方案即用户空间

  [for each row]    # 设定行级触发器, 如没有则为语句级触发器

  [when condition]

  begin

  这里放触发器执行时要干的事   # 如: dbms_output.put_line('输出内容到窗口')

  end;

4.行级触发器和语句级触发器:

  行级触发器: 涉及多少行就触发执行多少次;

  语句级触发器: 只会在执行触发语句时触发一次, 不论涉及到多少行.

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!