oracle触发器

Posted Ice_Blue_Brother

tags:

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

基础就不说了,放一个用的东西比较多的触发器,以后方便看

create or replace trigger test1_update
after update
on test1
for each row
  
declare
pragma autonomous_transaction;
  field VARCHAR2(2000);
  sum1 integer;
begin
  select count(1) into sum1 from changelog where id=:new.id and table_name=‘test1‘;
  if sum1<>0 then
    select update_field into field from changelog where id=:new.id and table_name=‘test1‘;
  end if;
  if updating (‘clum1‘) then
    select field||‘clum1,‘ into field from dual;
  end if;
  if updating (‘clum2‘) then
     select field||‘clum2,‘ into field from dual;
  end if;
  insert into changelog values(:old.id,‘test1‘,‘0‘,‘update‘,field,sysdate,‘‘,‘‘,‘‘);
end;

输出语句是dbms_output.put_line(‘name字段被修改‘);

方便查看变量的值对不对。

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

如何设置 vscode 的代码片段,以便在自动完成后自动触发 vscode 的智能感知?

片段创建的 Intent 不会触发 onNewIntent

导航到另一个片段时触发 API 调用

我如何使用 codeanywhere 片段

Client / Server Interoperability Support Matrix for Different Oracle Versions (Doc ID 207303.1)(代码片段

前端防扒代码片段