最先答对且答案未经编辑的puber将获得奥运章一枚(答案不可编辑但可发新贴补充或纠正),其他会员如果提供有价值的分析、讨论也可获得奥运章一枚。
以往旧题索引:
http://www.itpub.net/thread-1499223-1-1.html
原始出处:
http://www.plsqlchallenge.com/
作者:Steven Feuerstein
难度:中
运行环境:SQLPLUS, SERVEROUTPUT已打开
注:本题给出答案时候要求给予简要说明才能得到奖品
我创建了这个包:
CREATE OR REPLACE PACKAGE plch_pkg
IS
TYPE numbers_t IS TABLE OF NUMBER;
END;
/
哪个选项执行之后会显示如下输出?
Countdown
5
4
3
2
1
(A)
DECLARE
l_numbers plch_pkg.numbers_t
:= plch_pkg.numbers_t (5, 4, 3, 2, 1);
BEGIN
DBMS_OUTPUT.put_line ('Countdown');
FOR indx IN 1 .. l_numbers.COUNT
LOOP
DBMS_OUTPUT.put_line (l_numbers (indx));
END LOOP;
END;
/
(B)
DECLARE
l_numbers plch_pkg.numbers_t
:= plch_pkg.numbers_t (5, 4, 3, 2, 1);
BEGIN
DBMS_OUTPUT.put_line ('Countdown');
FOR indx IN REVERSE 1 .. l_numbers.COUNT
LOOP
DBMS_OUTPUT.put_line (l_numbers (indx));
END LOOP;
END;
/
(C)
DECLARE
l_numbers plch_pkg.numbers_t
:= plch_pkg.numbers_t (5, 4, 3, 2, 1);
l_index PLS_INTEGER;
BEGIN
DBMS_OUTPUT.put_line ('Countdown');
l_index := l_numbers.LAST;
WHILE (l_index IS NOT NULL)
LOOP
DBMS_OUTPUT.put_line (l_numbers (l_index));
l_index := l_numbers.PRIOR (l_index);
END LOOP;
END;
/
(D)
DECLARE
l_numbers plch_pkg.numbers_t
:= plch_pkg.numbers_t (5, 4, 3, 2, 1);
l_index PLS_INTEGER;
BEGIN
DBMS_OUTPUT.put_line ('Countdown');
l_index := l_numbers.FIRST;
WHILE (l_index IS NOT NULL)
LOOP
DBMS_OUTPUT.put_line (l_numbers (l_index));
l_index := l_numbers.NEXT (l_index);
END LOOP;
END;
/
|