FOR循环中的索引
FOR循环中的索引被隐式地声明为INTEGER类型的变量且是局部的;循环中的语句可以读取该变量的值,但不能改变它;循环之外的语句不能引用该变量;循环执行之后,该变量消失。
|
BEGIN FOR i IN 1..3 LOOP IF i < 3 THEN DBMS_OUTPUT.PUT_LINE (TO_CHAR(i)); ELSE --试图改变下标的值,无效操作 i := 2; END IF; END LOOP;
END;
|
|
BEGIN FOR i IN 1..3 LOOP DBMS_OUTPUT.PUT_LINE ('循环之中, i = ' || TO_CHAR(i)); END LOOP;
DBMS_OUTPUT.PUT_LINE ('循环之外, i = ' || TO_CHAR(i));
END;
|
|
DECLARE i NUMBER := 5; BEGIN FOR i IN 1..3 LOOP --局部的i隐藏了全局的i DBMS_OUTPUT.PUT_LINE ('循环之中, i = ' || TO_CHAR(i)); END LOOP;
DBMS_OUTPUT.PUT_LINE ('循环之外, i = ' || TO_CHAR(i));
END;
|
|
<<main>> DECLARE i NUMBER := 5; BEGIN FOR i IN 1..3 LOOP DBMS_OUTPUT.PUT_LINE ( '局部: ' || TO_CHAR(i) || ', 全局: ' || TO_CHAR(main.i) --使用标签限定引用全局的i ); END LOOP;
END main;
|
|
BEGIN <<outer_loop>> FOR i IN 1..3 LOOP <<inner_loop>> FOR i IN 1..3 LOOP IF outer_loop.i = 2 THEN DBMS_OUTPUT.PUT_LINE ('外部: ' || TO_CHAR(outer_loop.i) || ' 内部: ' || TO_CHAR(inner_loop.i)); END IF; END LOOP inner_loop; END LOOP outer_loop;
END;
|
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/17013648/viewspace-1104321/ ,如需转载,请注明出处,否则将追究法律责任。