向oracle数据库的一张表中输入10000条数据的循环怎么写啊

2025-01-24 12:03:49
推荐回答(2个)
回答1:

create table MIS_SEC_USER(USERID number, USERNAME varchar(32), PWD varchar(32))

declare
v_uid number;
v_usr varchar(32);
v_pwd varchar(32);
v_fg1 number;
v_fg2 number;
begin
v_fg1 := 0;
loop
v_uid := abs(dbms_random.random());
v_usr := dbms_random.string(opt => 'u', len => 10);
v_pwd := dbms_random.string(opt => 'u', len => 10);

select count(1) into v_fg2 from MIS_SEC_USER where USERID = v_uid or USERNAME = v_usr;
if v_fg2 = 0 then
insert into MIS_SEC_USER values(v_uid, v_usr, v_pwd);
v_fg1 := v_fg1 + 1;
end if;

exit when v_fg1 >= 10000;
end loop;
commit;
end;
/

回答2:

你的一万条数据是那来的呀?如果是现有的数据就用sqlldr批量导入这张表就可以了