PL / SQL数字或值错误

时间:2015-11-21 19:19:38

标签: plsql

我是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"

1 个答案:

答案 0 :(得分:0)

  acc number(10);
  -- ...
  acc := '&Insert_account:' ;

没有看到任何问题? XD

所以是的,因为输入了PL-SQL,你就不能在你声明为数字的变量中加入刺激。