【oracle】【demo】oracle批量造數據


【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;

/

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM