【oracle】【demo】批量造数据
方式1:使用 dbms_random函数 和 connect by level 执行insert语句多次
示例:
create sequence seq_id
minvalue 1001
start with 1001
nomaxvale
increment by 1
no cycle
cache 30;
/
select seq_id.nextval from dual;
inser into t_student(id,name,age)
select
seq_id.nextval as id,
dbms_random.string('a',8) as name,
dbms_random.value(20,24) as age
from dual
connect by level <= 10; --迭代 执行 sql 10次
drop sequence seq_id;
方式2:创建 procedure 使用循环体
create or replace produce prc_insert_data(vn_id in number)
as
vv_name varchar2(64) default 'Kitty';
vn_age number := 20;
exec_sql varchar2(100);
begin
for i in 1..10
loop
inser into t_student(id,name,age)
values(vn_number+i,vv_name||to_char(i),vn_age+i);
end loop;
exec_sql := 'commit';
execute immediate exec_sql;
end;
/
call prc_insert_data(1000);
drop produce prc_insert_data;
方式3:匿名块
declare
vv_name varchar2(64) default 'Kitty';
vn_age number := 20;
exec_sql varchar2(100);
begin
for i in 1..10
loop
inser into t_student(id,name,age)
values(vn_number+i,vv_name||to_char(i),vn_age+i);
end loop;
exec_sql := 'commit';
execute immediate exec_sql;
end;
/
Oracle批量造数据方法
本文介绍了在Oracle数据库中批量生成测试数据的三种方法:利用序列和内置函数通过单条SQL语句实现,创建过程使用循环体批量插入数据,以及使用匿名块实现相同目的。
1万+

被折叠的 条评论
为什么被折叠?



