oracle创建触发器及作用举例

Posted 土豆Z120553

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了oracle创建触发器及作用举例相关的知识,希望对你有一定的参考价值。

--创建触发器及作用举例
create or replace trigger tri
before delete on emp 
--在删除emp表数据之前需要做的事根据自己的业务去写,before是在之前做的事,after是在之后要做的事
declare
t_result number := 10;
begin
  dbms_output.put_line(admin || t_result);
end tri;

--下面是对表某些字段进行更新之后做的操作
create or replace trigger TRI_DISPLAYTABLE
after update of datatype,dbcolumnname,name on P#GCFR_T_FACTOR
for each row
declare
errno number;
errmsg varchar2(30);
begin
if updating (datatype) then
update GCFR_T_DISPLAYTABLE t set t.datatype = :new.datatype where t.viewname = :old.dbtablename
and t.isvirtualcolumn = 0 and t.columncode = :old.dbcolumnname;
end if;

if updating (dbcolumnname) then
update GCFR_T_DISPLAYTABLE t set t.datatype = :new.datatype where t.viewname = :old.dbtablename
and t.isvirtualcolumn = 0 and t.columncode = :old.dbcolumnname;
end if;

if updating (name) then
update GCFR_T_DISPLAYTABLE t set t.datatype = :new.datatype where t.viewname = :old.dbtablename
and t.isvirtualcolumn = 0 and t.columncode = :old.dbcolumnname;
end if;
end;

--删除触发器
drop trigger tri;

 

以上是关于oracle创建触发器及作用举例的主要内容,如果未能解决你的问题,请参考以下文章

Oracle基础入门

Oracle 触发器调试及遇到相关问题解决

Oracle数据库如何解决ORA-04091触发器/函数不能读它的问题

如果触发器中的语句不起作用 SQL(Oracle)

JS 作用域及作用域链

JS 作用域及作用域链