【问题标题】:oracle 10g and define instructionoracle 10g 和定义指令
【发布时间】:2015-11-29 23:17:13
【问题描述】:

我想在属于数据库主页的 SQL 窗口中编译这个 PL/SQL 程序:

DEFINE p_annual_sal=60000
DECLARE
     v_sal NUMBER(9,2):=&p_annual_sal;
BEGIN
     v_sal:=v_sal/12;
     DBMS_OUTPUT.PUT_LINE('The monthly salary is '|| TO_CHAR(v_sal));
END;

当我点击运行时,我收到以下消息:

ORA-00900: 无效的 SQL 语句

即使它在命令行的 SQL*Plus 下工作,它可能是什么问题?

【问题讨论】:

    标签: plsql oracle10g


    【解决方案1】:

    它在 SQL*Plus 中有效,因为DEFINE 是一个 SQL*Plus 命令。

    当您提到“数据库主页”时,我相信您指的是 Oracle Apex 的 SQL 命令窗口,它可以运行 SQL 和 PL/SQL 代码,但不能运行 SQL*Plus 命令。

    您可以改为这样做 - Apex 将提示您输入绑定变量(如果有):

    DECLARE
         v_sal NUMBER(9,2):= :p_annual_sal;
    BEGIN
         v_sal:=v_sal/12;
         dbms_output.put_line('The monthly salary is '|| TO_CHAR(v_sal));
    END;
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-01-09
      • 1970-01-01
      • 2015-11-16
      • 1970-01-01
      • 2010-11-28
      • 1970-01-01
      • 1970-01-01
      • 2011-08-13
      相关资源
      最近更新 更多