触发器记录Log信息

zhoujiangzi 2011-04-08 09:38:01
我使用触发器来记录每个表的增删改操作,将这些记录都保存在一张公共的表T_LOG表中,突然发现一个很奇怪的问题

其中有个table :test。 之前已经有数据插入进去了,在我添加对应触发器之后,增加修改test表都可以记录信息到T_LOG表,但是删除数据时,却不能将信息记录到T_LOG里面去,这里增删改都是添加触发器之前的老数据。我单独插入条新的记录,删除之后,会有信息被记录到T_LOG里面去,不知道为何,老的数据不能记录删除Log呢,新数据却可以?其他表的增删改都很正常,包括老数据。

有解释吗?
...全文
142 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhoujiangzi 2011-04-08
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 lixinbill 的回复:]
这种情况 楼主不要质疑 oracle的触发器 去仔细看看自己写的代码吧 细心一点准能定位到问题所在
[/Quote]

像这样的问题,一般错误在哪里呢?不知道如何下手。。
新数据可以,旧数据却不可以。。。很纠结
lixinbill 2011-04-08
  • 打赏
  • 举报
回复
这种情况 楼主不要质疑 oracle的触发器 去仔细看看自己写的代码吧 细心一点准能定位到问题所在
zhoujiangzi 2011-04-08
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 zhoujiangzi 的回复:]
引用 1 楼 java3344520 的回复:
不太可能啊,比较诡异
触发器不针对数据,只针对该表的操作,除非你在触发器里加入的判断条件,
看看触发器语句

重新编译下触发器看看


这里不只一个触发器,有很多个,单单就这一个触发器有问题,而且只是对老数据存在问题,新数据都是正常的,我很困惑。
[/Quote]


这个触发器刚刚已经重新编译了的,老数据还是不行
zhoujiangzi 2011-04-08
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 zhangji2411 的回复:]
触发器估计写的有问题
[/Quote]

触发器是没有问题的,不然新的数据也不会有log信息产生
zhoujiangzi 2011-04-08
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 java3344520 的回复:]
不太可能啊,比较诡异
触发器不针对数据,只针对该表的操作,除非你在触发器里加入的判断条件,
看看触发器语句

重新编译下触发器看看
[/Quote]

这里不只一个触发器,有很多个,单单就这一个触发器有问题,而且只是对老数据存在问题,新数据都是正常的,我很困惑。
zhangji2411 2011-04-08
  • 打赏
  • 举报
回复
触发器估计写的有问题
iqlife 2011-04-08
  • 打赏
  • 举报
回复
不太可能啊,比较诡异
触发器不针对数据,只针对该表的操作,除非你在触发器里加入的判断条件,
看看触发器语句

重新编译下触发器看看
zhoujiangzi 2011-04-08
  • 打赏
  • 举报
回复
感谢大家的帮助,细心的比对脚本,获取值写错了。。。

17,086

社区成员

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

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