在SQL plus中无法检查输入数字?

时间:2014-04-11 02:32:10

标签: oracle sqlplus

我有一个以oracle sql plus形式输入数字的例子,这是我的代码:

DECLARE 
    WK_INPUT NUMBER := &NUMBER;
BEGIN
    IF WK_INPUT IS NOT NUMBER THEN
        DBMS_OUTPUT.PUT_LINE('IS NOT NUMBER')
    ELSE
        DBMS_OUTPUT.PUT_LINE(WK_INPUT ||' IS NUMBER')
    END IF;
END;

执行时有错误:

 Encounter the symbol 'Number' when expecting the of the flow.

如何检查输入是否为数字? 谢谢。

1 个答案:

答案 0 :(得分:3)

Oracle中没有“NUMBER”功能。但是,您并不需要它,因为当您将变量WK_INPUT声明为NUMBER类型时,您只能为其指定一个数字,否则您将获得异常。你可以这样写:

DECLARE
  wk_input NUMBER;
BEGIN
  wk_input := '&NUMBER';
  DBMS_OUTPUT.PUT_LINE(wk_input||' is a number');
EXCEPTION
  WHEN VALUE_ERROR THEN
    DBMS_OUTPUT.PUT_LINE('&NUMBER is not a number');
END;