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挑战