怎么表示insert或者delete是否有记录

[复制链接]
查看11 | 回复7 | 2007-10-20 08:38:44 | 显示全部楼层 |阅读模式
进行了insert操作,下面需要判断,如果有记录被insert进去,那么就执行delete操作
在存储过程中不会判断 是否有记录被insert进去了
我用了个
ifsql%rowcount>0then
delete....
end if;
不知道这样是否正确,我测试的时候 明明有数据被insert了 但是不走循环体,我怀疑是不是sql%rowcount>0有问题
回复

使用道具 举报

千问 | 2007-10-20 08:38:44 | 显示全部楼层
sql%rowcountORsql%BULK_ROWCOUNT?
回复

使用道具 举报

千问 | 2007-10-20 08:38:44 | 显示全部楼层
俺不明白
回复

使用道具 举报

千问 | 2007-10-20 08:38:44 | 显示全部楼层
把完整过程贴出来看看
回复

使用道具 举报

千问 | 2007-10-20 08:38:44 | 显示全部楼层
sql%rowcount应该可以的呀
回复

使用道具 举报

千问 | 2007-10-20 08:38:44 | 显示全部楼层
INSERT完把SQL%ROWCOUNT用DBMS_OUTPUT输出看看。你是怎么知道有数据被INSERT,又“不走循环体”的?
回复

使用道具 举报

千问 | 2007-10-20 08:38:44 | 显示全部楼层
newkid说的对,先自己找方法吧,程序肯定有问题,如果insert或delete了,sql%rowcount肯定大于0的
回复

使用道具 举报

千问 | 2007-10-20 08:38:44 | 显示全部楼层
scott@HUIYI(192.168.1.222)> begin
2insert into emp(empno) values(-1);
3dbms_output.put_line(sql%rowcount);
4end;
5/
1
PL/SQL procedure successfully completed.
Elapsed: 00:00:00.27

建议单步调试,如果没有INSERT成功是什么情况?异常?看看有没有异常抛出。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行