判断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;