--PL/SQL控制流程 --条件控制语句 DECLARE V_VAR NUMBER(4) := 3; BEGIN IF V_VAR = 1 THEN DBMS_OUTPUT.PUT_LINE('V_VAR=' || V_VAR); ELSIF V_VAR = 2 THEN DBMS_OUTPUT.PUT_LINE('V_VAR=' || V_VAR); ELSE DBMS_OUTPUT.PUT_LINE('V_VAR=' || V_VAR); END IF; END; / --循环语句 --1.LOOP......END LOOP DECLARE V_COUNT BINARY_INTEGER := 1; BEGIN LOOP DBMS_OUTPUT.PUT_LINE('V_COUNT=' || V_COUNT); V_COUNT := V_COUNT + 1; IF V_COUNT = 10 THEN EXIT; END IF; END LOOP; DBMS_OUTPUT.PUT_LINE('V_COUNT循环后的值是:'||V_COUNT); END; / --FOR循环 /* 格式 FOR V_VAR IN (REVERSE) 10 .. 20 LOOP do something; END LOOP; */ DECLARE V_COUNT BINARY_INTEGER := 1; BEGIN FOR V_COUNT IN 10 .. 20 LOOP DBMS_OUTPUT.PUT_LINE('V_COUNT=' || V_COUNT); IF V_COUNT = 30 THEN EXIT; END IF; END LOOP; END; / --WHILE循环 /* WHILE V_VAR < 20 LOOP END LOOP; */ DECLARE V_COUNT BINARY_INTEGER := 1; BEGIN WHILE V_COUNT <= 10 LOOP V_COUNT := V_COUNT + 1; DBMS_OUTPUT.PUT_LINE('V_COUNT=' || V_COUNT); END LOOP; END; / --条件退出LOOP循环 DECLARE V_VAR NUMBER(4) := 1; BEGIN LOOP V_VAR := V_VAR +2; EXIT WHEN V_VAR > 20; DBMS_OUTPUT.PUT_LINE('V_VAR = ' || V_VAR); END LOOP; END; / --条件CONTINUE LOOP循环 DECLARE V_VAR NUMBER(4) := 1; BEGIN LOOP V_VAR := V_VAR +2; IF V_VAR < 10 THEN DBMS_OUTPUT.PUT_LINE('HELLO,WORLD;V_VAR = ' || V_VAR); END IF; CONTINUE WHEN V_VAR < 10; EXIT WHEN V_VAR > 20; DBMS_OUTPUT.PUT_LINE('V_VAR = ' || V_VAR); END LOOP; END; /