读书人

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

发布时间: 2011-12-28 22:45:21 作者: rapoo

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的,真正的操作还是在触发器以外做的
[解决办法]
学习

读书人网 >oracle

热点推荐