当前位置: 代码迷 >> Oracle管理 >> oracle中sql%rowcount的使用,该怎么处理
  详细解决方案

oracle中sql%rowcount的使用,该怎么处理

热度:56   发布时间:2016-04-24 06:07:32.0
oracle中sql%rowcount的使用
偶是oracle一菜鸟,写一触发器如下:
create   or   replace   trigger   del_tblname_trg
before   delete
On   tblname
declare
    rowcnt               int;
begin
rowcnt   :=sql%rowcount;
.....
      if   rowcnt   >   1   then
            raise   err2;
      end   if;
......

注:.....处省略

本来自以为sql%rowcount此处可以得到delete语句影响的行数,但运行后发现此处的sql%rowcount是null值,依偶的理解,触发器是这个事务的一部分,且没有其他的dml语句,为什么在触发器中得不到这个值?难道只能写一个审计表记录影响的行数吗?如果确实只能如此,那原因是什么?请帮忙解释一下,多谢多谢

------解决方案--------------------
触发器只是一个机制,他不进行数据的INSERT,DELETE,UPDATE的,真正的操作还是在触发器以外做的
------解决方案--------------------
学习
  相关解决方案