1

在 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;

我收到错误“绑定变量“A”未声明”,我不知道为什么。这是什么原因造成的?

4

1 回答 1

4

您的代码有几处问题。

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

第二个问题是线路IF (A>B)。您需要THEN在末尾添加一个。

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

于 2012-06-24T16:08:30.970 回答