请问oracle中cursor%NOTFOUND到底是什么意思?

gaochao1996 2012-04-10 04:15:49
请问oracle中cursor%NOTFOUND是表示定义的cursor中的sql语句没有查到任何值吗?

我单独执行sql,明明有10条数据,可是放到cursor中,按照我理解的cursor%NOTFOUND应该是false,因为明明sql能返回10条数据的,可是cursor%NOTFOUND总是返回true?这是为什么?
...全文
1046 3 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
bayueguihuaxiang 2012-04-12
  • 打赏
  • 举报
回复
对于显式游标而言,在第一次fetch之后和最后fetch之前,cursor%notfound的值为false。
open之后和第一次fetch之前为null。最后一次fetch之后和close之前其取值为true。
ssqtjffcu 2012-04-10
  • 打赏
  • 举报
回复
[Quote=引用楼主 的回复:]
请问oracle中cursor%NOTFOUND是表示定义的cursor中的sql语句没有查到任何值吗?

我单独执行sql,明明有10条数据,可是放到cursor中,按照我理解的cursor%NOTFOUND应该是false,因为明明sql能返回10条数据的,可是cursor%NOTFOUND总是返回true?这是为什么?
[/Quote]
对于select语句这种是隐式游标,执行了这些语句后,cursor%notfound是指当时执行那瞬间的状态,但你的判断是在这语句执行完后判断的,所以这属性notfound只会是true
渭水飞熊 2012-04-10
  • 打赏
  • 举报
回复
cursor%NOTFOUND:表示游标的值是否循环取完了。你使用PL/SQL Developer调试下看游标是不是确定取出了数据。

17,140

社区成员

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

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