【发布时间】:2015-03-09 14:33:53
【问题描述】:
我是 oracle 新手,当我尝试使用 define 命令时,遇到 ORA-00900: invalid SQL statement 错误。这是我的代码:
DEFINE p_num1 = 2;
DEFINE p_num2 = 4;
declare
b1 number(7,3) := &p_num1;
b2 number(7,3) := &p_num2;
v_cont number(7,3);
begin
v_cont := &p_num1/&p_num2;
dbms_output.put_line(v_cont);
end;
/
我错在哪部分?
【问题讨论】:
-
DEFINE不是 SQL*Plus、SQL 或 PL/SQL 关键字。它存在于 T-SQL 中。我不完全确定我是否理解您要完成的任务——为什么在您已经拥有b1和b2时还要定义p_num1和p_num2?您是否希望提示用户输入值 2 和 4,而不是将变量初始化为硬编码值? -
我试图将 p_num1 除以 p_num2。我不太确定我是否可以直接在我的代码中使用 DEFINE 值,所以我将它分配给新变量。我玩过代码,但它保持不变
-
为什么不
declare b1 number(7,3) := 2; b2 number(7,3) := 4;?额外的变量集为您提供什么价值?您是否尝试提示用户输入值? -
是的,我认为这是愚蠢的代码。但这是 PL/SQL 任务的一部分,我正在努力做到这一点。问题是我不能用 DEFINE 值划分一些东西吗?
-
@Justin,
DEFINE是一个 SQL*Plus 命令;我不知道你为什么不这么认为?
标签: oracle plsql oracle-apex