NO_DATA_FOUND SQL%NOTFOUND、SQL%ROWCOUNT的区别

今天突然遇到有人问:NO_DATA_FOUND、SQL%NOTFOUND、SQL%ROWCOUNT的区别?所以就说一下我自己的理解吧。

      NO_DATA_FOUND:该异常可以在两种不同的情况下出现:第一种:当SELECT。。。。INTO语句的WHERE子句  没匹配任何数据行时;第二种:试图引用尚未赋值的PL/SQL index-by表元素时。

      SQL%NOTFOUND:是隐匿游标的属性,当没有可检索的数据时,该属性为:TRUE;常作为检索循环退出的条件。

                                    若某UPDATE或DELETE语句的WHERE子句不匹配任何数据行,该属性为:TRUE,但不并不出现NO_DATA_FOUND异常.

      SQL%ROWCOUNT:该数字属性返回了到目前为止,游标所检索数据库行的个数。

我只是对三者做了简单的概念介绍,抛砖引玉!

posted @ 2012-07-30 16:31  王道健  阅读(1026)  评论(0编辑  收藏  举报