我是PL / SQL的新手,我遇到以下问题:
set serveroutput on
DECLARE
result number(10):=0;
acc number(10);
BEGIN
acc:='&Insert_account:';
for i in 1..9 loop
result:=(result + (mod(acc,10)*i));
acc:=trunc(acc/10);
END LOOP;
if mod(result,11)=0 then
DBMS_OUTPUT.PUT_LINE('Valid number');
else
DBMS_OUTPUT.PUT_LINE('Invalid number');
END IF;
END;
帐号有9位数。
这是我得到的错误:
Error report -
ORA-06502: PL/SQL: numeric or value error: character to number conversion error
ORA-06512: at line 5 06502. 00000 - "PL/SQL: numeric or value error%s"
答案 0 :(得分:0)
acc number(10);
-- ...
acc := '&Insert_account:' ;
没有看到任何问题? XD
所以是的,因为输入了PL-SQL,你就不能在你声明为数字的变量中加入刺激。