http://blog.sina.com.cn/s/blog_61c006ea0100m2uo.html
1、create table testd(id int,name char(5));
begin
for i in 1..1000000 loop
insert into testd values(
i, to_char(dbms_random.random()));
end loop;
commit;
end;
/
---------------------------------------------
ERROR at line 1:
ORA-12899: value too large for column "BREIN"."TESTA"."NAME"(actual: 9, maximum: 5)
ORA-06512: at line 3
----------------------------------------------------------------------------------------
原因为name的字段宽度太小了
begin
for i in 1..3 loop
insert into testd values(
i, to_char(dbms_random.random()));
end loop;
commit;
end;
/
---------------------------------------------------
ERROR at line 1:
ORA-12899: value too large for column "BREIN"."TESTA"."NAME"(actual: 9, maximum: 5)
ORA-06512: at line 3
----------------------------------------------------------------------------------------
还报同样的错误。
2、create table testd(id int,name char(500));
begin
for i in 1..1000000 loop
insert into testd values(
i, to_char(dbms_random.random()));
end loop;
commit;
end;
/
-----------------------------------------------------
PL/SQL procedure successfully completed.
-----------------------------------------------------------
3、create table testd(id int,name varchar2(20),addrvarchar2(20),dele varchar2(20),modi varchar2(20));
begin
for i in 1..1000000 loop
insert into testd values(
i, to_char(dbms_random.random()),
dbms_random.random(), dbms_random.random(),
to_char(dbms_random.random()));
end loop;
commit;
end;
/
---------------------------------------------------------
PL/SQL procedure successfully completed.
原来int型的可以默认插入字符型字段中去
-----------------------------------------------------------