使用SQL%NOTFOUND执行后的布尔值的PL / SQL值

时间:2013-05-13 18:57:07

标签: sql database oracle plsql

刚开始学习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;

1 个答案:

答案 0 :(得分:3)

在这种情况下,v_1应始终为FALSEv_1 := SQL%NOTFOUND询问的问题是“查询中是否找不到记录?”,答案是“否”(或FALSE),因为此查询将始终返回一行 - 因此,v_1始终为FALSE。这是一种“双重负面”的情况,有点像。 : - )

分享并享受。