PL/SQL嵌套表的MEMBER OF 操作符(挑战题编号000007)
首先我创建一个嵌套表:
CREATE OR REPLACE TYPE plch_strings_t IS TABLE OF VARCHAR2 (100); /
问题:
执行以下哪几个选项后,屏幕会显示”out”
选项1:
DECLARE l_strings plch_strings_t := plch_strings_t (1, NULL, 2); BEGIN IF '1' MEMBER OF l_strings THEN DBMS_OUTPUT.put_line ('in'); ELSE DBMS_OUTPUT.put_line ('out'); END IF; END; /
选项2:
DECLARE l_strings plch_strings_t := plch_strings_t (1, NULL, 2); BEGIN IF NULL MEMBER OF l_strings THEN DBMS_OUTPUT.put_line ('in'); ELSE DBMS_OUTPUT.put_line ('out'); END IF; END; /
选项3:
DECLARE l_not_much VARCHAR2 (100); l_strings plch_strings_t := plch_strings_t (1, l_not_much, 2); BEGIN IF l_not_much MEMBER OF l_strings THEN DBMS_OUTPUT.put_line ('in'); ELSE DBMS_OUTPUT.put_line ('out'); END IF; END; /
选项4:
DECLARE l_strings plch_strings_t := plch_strings_t (1, NULL, 2); l_found BOOLEAN; BEGIN FOR indx IN 1 .. l_strings.COUNT LOOP l_found := l_strings (indx) IS NULL; EXIT WHEN l_found; END LOOP; IF l_found THEN DBMS_OUTPUT.put_line ('in'); ELSE DBMS_OUTPUT.put_line ('out'); END IF; END; /
答案:http://www.anguora.com/plsql挑战答案/
分类: PL/SQL挑战