ITPub博客

首页 > 数据库 > Oracle > PLSQL Language Referenc-PL/SQL控制语句-循环语句-FOR循环-FOR循环中的索引

PLSQL Language Referenc-PL/SQL控制语句-循环语句-FOR循环-FOR循环中的索引

原创 Oracle 作者:luisedalian 时间:2014-03-10 09:38:58 0 删除 编辑

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博客 ” ,链接:http://blog.itpub.net/17013648/viewspace-1104321/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2012-02-06

  • 博文量
    1986
  • 访问量
    5676503