0

刚开始学习 PL/SQL 和游标属性。我对 SQL%NOTFOUND 的工作方式感到困惑。在下面的代码中,v_1 是否应该始终编译为 true?

DECLARE
   v_1     BOOLEAN;
   v_2     NUMBER;
BEGIN
   SELECT  count(*)
   INTO    v_2
   FROM    t1;

   v_1 := SQL%NOTFOUND;
END;
4

1 回答 1

3

在这种情况下v_1应该总是FALSE. 所问的问题v_1 := SQL%NOTFOUND是“查询没有找到记录吗?”,答案是“否”(或FALSE),因为此查询将始终返回一行 - 因此,v_1将始终是FALSE。这是一种“双重否定”的情况。:-)

分享和享受。

于 2013-05-13T19:15:49.493 回答