运行PL / SQL块时出错“BIND VARIABLE”“NOT DECLARED”

时间:2012-06-24 13:44:00

标签: plsql

在Oracle 10g(pl / sql)中运行以下代码时

DECLARE 
    A NUMBER;
    B NUMBER;
BEGIN:
     A:=&N;
     B:=&M;
 IF (A>B)
     DBMS_OUTPUT.PUT_LINE('THE MAXIMUM OF TWO NUMBER IS:' || TO_CHAR(A));
 ELSE 
    DBMS_OUTPUT.PUT_LINE('THE MAXIMUM OF TWO NUMBERS IS:' || TO_CHAR(B));
 END IF;
END;

我收到错误'BIND VARIABLE'一个“未声明”,我不知道为什么。造成这种情况的原因是什么?

1 个答案:

答案 0 :(得分:4)

您的代码存在一些问题。

第一个问题是BEGIN之后应该没有冒号。您编写的内容被Oracle解释为BEGIN :A := ...,这可以解释为什么您收到有关绑定变量A的错误。

第二个问题是行IF (A>B)。您需要在结尾添加THEN

顺便说一下,您可以使用GREATEST(A, B)返回两个数字中较大的一个。