|
SET SERVEROUTPUT ON
DECLARE
VAR_SCORE INTEGER;
TYPE T_VARRAY IS VARRAY(10) OF VARCHAR2(20);
NAMES T_VARRAY := T_VARRAY('Sheldon','Leonard','Bernadette','Penny','Mrs. Wolowitz','Stuart','Howard');
BEGIN
FOR I IN 1.. NAMES.COUNT LOOP
BEGIN
SELECT SCORE INTO VAR_SCORE FROM STUDENT1 WHERE NAME = NAMES(I);
IF VAR_SCORE = 100 THEN
SYS.DBMS_OUTPUT.PUT_LINE(NAMES(I)||':满分');
ELSIF VAR_SCORE >= 90 THEN
SYS.DBMS_OUTPUT.PUT_LINE(NAMES(I)||':优秀 ');
ELSIF VAR_SCORE >= 80 THEN
SYS.DBMS_OUTPUT.PUT_LINE(NAMES(I)||':良好 ');
ELSIF VAR_SCORE >= 60 THEN
SYS.DBMS_OUTPUT.PUT_LINE(NAMES(I)||':及格 ');
ELSE
SYS.DBMS_OUTPUT.PUT_LINE(NAMES(I)||':不及格 ');
END IF;
EXCEPTION
WHEN TOO_MANY_ROWS THEN DBMS_OUTPUT.PUT_LINE('EXCEPTION TOO_MANY_ROWS FOR '||NAMES(I));
WHEN NO_DATA_FOUND THEN DBMS_OUTPUT.PUT_LINE('EXCEPTION NO_DATA_FOUND FOR '||NAMES(I));
WHEN OTHERS THEN SYS.DBMS_OUTPUT.PUT_LINE('Unkown Exception FOR '||NAMES(I));
END;
END LOOP;
END;
|
|
|