Oracle PL / SQL代码中的神秘声明

时间:2013-12-17 12:44:19

标签: oracle plsql sqlplus

Oracle PL / SQL中的&n声明是什么意思?代码示例中的用法(取自here)如下所示:

DECLARE
    myex EXCEPTION;
    PRAGMA EXCEPTION_INIT(myex,-20015); 
    n NUMBER := &n;
BEGIN
    FOR i IN 1..n LOOP
        dbms_output.put.line(i);
        IF i=n THEN
            RAISE myex;
        END IF;
    END LOOP;
EXCEPTION
    WHEN myex THEN
        dbms_output.put.line('loop is end');
END;

1 个答案:

答案 0 :(得分:6)

&nsubstitution variable

  

在语句中使用替换变量时,SQL * Plus会请求输入值并重写该语句以包含它。重写的语句将传递给数据库。因此,数据库服务器对替换变量一无所知。