SQL> create or replace procedure proc7(v_name varchar2,v_n number) is
  2  v_no number:=1;
  3  begin
  4   loop
  5     insert into users values(v_name,v_no);
  6     exit when v_no=v_n;
  7     v_no:=v_no+1;
  8   end loop;
  9  end;
 10  /
 
Procedure created
 
SQL> exec proc7('ggg',3);错误:ORA-01722: 无效数字
ORA-06512: 在 "SYSTEM.PROC7", line 5
ORA-06512: 在 line 2

解决方案 »

  1.   

    USERS表结构是什么样的?
    改成如下看看:
    insert into users(name,no) values(v_name,v_no);
      

  2.   

    和表中users字段类型不对应?
      

  3.   

           v_name,  v_no
    1111 1
    2222 2
    3333 3
    4444 4
    我建了张表,文本类型和数据类型,插入这几条数据,直接执行都没报错的说,应该是你数据的问题吧
      

  4.   

    你修改一下变量v_no的名字,试试看看吧
      

  5.   

    你在这里面写的字段要和你在users表中的字段一样而且定义的东西要一样啊