关于触发器中关于update如何知道修改该表中的哪一字段?

prairie_orchid 2003-08-18 08:00:11
触发器中before update执行,想知道修改了表中的哪一字段?如何解决?
...全文
75 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
dihai2000 2003-08-19
  • 打赏
  • 举报
回复
楼主可以试一试 感觉是可以的
出错了再贴出来吧
prairie_orchid 2003-08-18
  • 打赏
  • 举报
回复
想这样用是不是不行????

CURSOR c_test IS
SELECT column_name FROM SYS.ALL_TAB_COLUMNS WHERE TABLE_NAME=TG_RELNAME AND OWNER=USER;
.
.
v_sql:='select decode(:new.'||v_column_name||','||':old.'||v_column_name||',0,1) from dual';
EXECUTE IMMEDIATE v_sql INTO v_num ;
if v_num=1 then
insert into log_file (num,string)values (a,v_column_name);
.
.
beckhambobo 2003-08-18
  • 打赏
  • 举报
回复
create trigger aa_tri
before update on aa
for each row
begin
if :new.id<>:old.id then
..
end if;
if :new.name<>:old.name then
...
end if;
...
end;
/

17,086

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧