Oracle数据库触发器语法及实例(二)_Oracle数据库_黑客防线网安服务器维护基地--Powered by WWW.RONGSEN.COM.CN

Oracle 触发器语法及实例(二)

作者:黑客防线网安Oracle维护基地 来源:黑客防线网安Oracle维护基地 浏览次数:0

黑客防线网安网讯:  2、触发器的类型有:   触发器类型:       1、 语句触发器  2、 行触发器  3、INSTEAD OF触发  4、 系统条件触发器  5、 用户事件触发器  2.1、语句级触发器.(语句级...

  2、触发器的类型有:

  触发器类型:     

  1、 语句触发器

  2、 行触发器

  3、INSTEAD OF触发

  4、 系统条件触发器

  5、 用户事件触发器

  2.1、语句级触发器.(语句级触发器对每个DML语句执行一次)

  是在表上或者某些情况下的视图上执行的特定语句或者语句组上的触发器能够与INSERT、UPDATE、DELETE或者组合上进行关联但是无论使用什么样的组合各个语句触发器都只会针对指定语句激活一次。比如无论update多少行,也只会调用一次update语句触发器。

  实例:  

   createorreplacetriggertri_test
  afterinsertorupdateordeleteontest
  begin
  ifupdatingthen
  dbms_output.put_line('修改');
  elsifdeletingthen
  dbms_output.put_line('删除');
  elsifinsertingthen
  dbms_output.put_line('插入');
  endif;
  end;

  2.2、行级触发器.(行级触发器对DML语句影响的每个行执行一次)

  实例一:

  触发器  

  行级触发器

   createtabletest(sidnumber,snamevarchar2(20));--创建一个表
  createsequenceseq_test;--创建序列
  createorreplacetriggertri_test--创建触发器
  beforeinsertorupdateofsidontest
  foreachrow--触发每一行
  begin
  ifinsertingthen
  selectseq_test.nextvalinto:new.sidfromdual;
  else
  raise_application_error(-20020,'不允许更新ID值!');--中断程序
  endif;
  end;

    黑客防线网安服务器维护方案本篇连接:http://www.rongsen.com.cn/show-12011-1.html
网站维护教程更新时间:2012-03-23 00:28:01  【打印此页】  【关闭
我要申请本站N点 | 黑客防线官网 |  
专业服务器维护及网站维护手工安全搭建环境,网站安全加固服务。黑客防线网安服务器维护基地招商进行中!QQ:29769479

footer  footer  footer  footer