PLS 00306错误PL / SQL

时间:2014-11-14 13:23:02

标签: database plsql

我使用SQL * PLUS来运行此代码

DECLARE
v_sal NUMBER:= 3000;
v_valid BOOLEAN;
BEGIN
v_valid := v_sal BETWEEN 1000 AND 5000;
DBMS_OUTPUT.PUT_LINE('Value of v_valid is ' || v_valid);
END;
/

我读到我可以使用这个表达式来指定布尔值。 为什么然后我在第6行得到这个错误?

1 个答案:

答案 0 :(得分:2)

我不认为问题是BETWEEN表达式。它是DBMS_OUTPUT行。它无法处理BOOLEAN值。以下代码有效:

set serveroutput on

DECLARE
  v_sal NUMBER:= 3000;
  v_valid BOOLEAN;
BEGIN
  v_valid := v_sal BETWEEN 1000 AND 5000;
  dbms_output.put_line(CASE WHEN v_valid THEN 'true' ELSE 'false' END);
END;
/