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
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
改成如下看看:
insert into users(name,no) values(v_name,v_no);
1111 1
2222 2
3333 3
4444 4
我建了张表,文本类型和数据类型,插入这几条数据,直接执行都没报错的说,应该是你数据的问题吧