关于NO_DATA_FOUND和%NOTFOUND
一般初学者对Oracle的NO_DATA_FOUND和%NOTFOUND两个保留字的用法不够了解,主要是它们从意义上是有些类似。其实它们的用法是有区别的,小结如下:
SELECT . . . INTO 语句触发 NO_DATA_FOUND;
当一个显示光标的 where 子句未找到时 触发 %NOTFOUND;
当UPDATE或DELETE 语句的where 子句未找到时 触发 SQL%NOTFOUND;
在光标的提取(Fetch)循环中要用 %NOTFOUND 或%FOUND 来确定循环的退出条件,不要用 NO_DATA_FOUND。
一般初学者对Oracle的NO_DATA_FOUND和%NOTFOUND两个保留字的用法不够了解,主要是它们从意义上是有些类似。其实它们的用法是有区别的,小结如下:
SELECT . . . INTO 语句触发 NO_DATA_FOUND;
当一个显示光标的 where 子句未找到时 触发 %NOTFOUND;
当UPDATE或DELETE 语句的where 子句未找到时 触发 SQL%NOTFOUND;
在光标的提取(Fetch)循环中要用 %NOTFOUND 或%FOUND 来确定循环的退出条件,不要用 NO_DATA_FOUND。