2011-10-10 COLLECTION的EXISTS接受NULL参数的表现

来源:这里教程网 时间:2026-03-03 13:38:15 作者:

http://www.itpub.net/thread-1499223-2-1.html

15楼 我创建了这个“帮助”函数来显示布尔变量的值:

CREATE OR REPLACE PROCEDURE plch_show_boolean (val IN BOOLEAN)
IS
BEGIN
   DBMS_OUTPUT.put_line (
      CASE val
         WHEN TRUE THEN 'TRUE'
         WHEN FALSE THEN 'FALSE'
         ELSE 'NULL'
      END);
END plch_show_boolean;
/

下列哪些选项中,哪个块执行之后会显示"FALSE"? (A)

DECLARE
   my_list   DBMS_SQL.number_table;
   l_index   PLS_INTEGER;
BEGIN
   plch_show_boolean (my_list.EXISTS (l_index));
END;
/
FALSE

(B)

DECLARE
   my_list   DBMS_SQL.number_table;
   l_index   PLS_INTEGER := 100;
BEGIN
   plch_show_boolean (my_list.EXISTS (l_index));
END;
/
FALSE

(C)

DECLARE
   my_list          DBMS_SQL.number_table;
   l_index          PLS_INTEGER := 100;
   element_exists   BOOLEAN;
BEGIN
   BEGIN
      l_index := my_list (l_index);
      element_exists := TRUE;
   EXCEPTION
      WHEN NO_DATA_FOUND
      THEN
         element_exists := FALSE;
   END;
   plch_show_boolean (element_exists);
END;
/
FALSE

(D)

DECLARE
   my_list   DBMS_SQL.number_table;
BEGIN
   plch_show_boolean (my_list.EXISTS (NULL));
END;
/
FALSE

   答案ABCD 知识点后补

相关推荐