declare
i integer; --定义变量
begin
i := 1;
loop
/* 插入数据 */
insert into t_yx_bak values('1','2');
/* 参数递增 */
i := i + 1;
/* 停止条件 */
if mod(i, 10000) = 0
then
commit;
end if;
exit when i=8000000;
end loop;
commit;
end;
这个执行完以后永远不会停止,数据也不会变多,结果是一样的,但不会停止执行,哪位大神遇到过这种情况
------解决思路----------------------
INTEGER
INT
A whole number in the range of (-2**31) to (2**31)-1.
------解决思路----------------------
SQL> ed
已写入 file afiedt.buf
1 declare
2 i integer; --定义变量
3 begin
4 i :=8000000-10;
5 loop
6 /* 插入数据 */
7 dbms_output.put_line(i);
8 /* 参数递增 */
9 i := i + 1;
10 /* 停止条件 */
11 if mod(i, 10000) = 0
12 then
13 dbms_output.put_line('commit');
14 end if;
15 exit when i=8000000;
16 end loop;
17 commit;
18* end;
SQL> /
7999990
7999991
7999992
7999993
7999994
7999995
7999996
7999997
7999998
7999999
commit
PL/SQL 过程已成功完成。
SQL>
测试了下没有你说的现象啊
