ORACLE触发器判断是否更新了某个字段


判断oracle单条表记录更新时更新的是哪几个字段

首先使用触发器判断执行的是否是更新语句

create or replace trigger jc_customer_upd_tr
  before insert or update on jc_customer
  for each row  --行级触发
declare
  v_operation varchar2(500);--操作内容
  
begin
  --如果信息变更,则将变更的字段提取出来,拼接并插入日志表中的一个字段
  if updating then 
end if; end jc_customer_upd_tr;

判断更改的哪些字段,方法一是插入之前进行新旧值的比对

  if :OLD.Name!=:NEW.Name then   
       v_operation:=v_operation||'旧1:'||:OLD.Name||'新1:'||:NEW.Name||';';
  end if;

另外一种方法是使用updating('XX')的方法来判断更新语句是否含有该字段的更新

  if updating('Name') then
      v_operation:=v_operation||'旧2:'||:OLD.Name||'新2:'||:NEW.Name||';';
   end if;

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM