我有一个以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.
如何检查输入是否为数字? 谢谢。
答案 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;