1. 程式人生 > >Oracle與Mysql建立儲存過程

Oracle與Mysql建立儲存過程

<1>Oracle如下:
create or replace procedure aa //建立無參儲存過程
is
begin
for i in 1…100000 loop //定義迴圈
insert into jz(jz_object_id,cid,customer_id,company_name,jz_price,jz_ability,chance_theme) values
(jz_seq.nextval,1,12,‘xxxx’,30000.00,‘有力競爭’,‘java’); //迴圈插入10萬資料
end loop; //結束迴圈
commit;
end; //退出儲存過程
begin
aa(); //呼叫儲存過程
end;
<2>Mysql如下:
delimiter // #定義識別符號為雙斜槓
create procedure a() #建立無參儲存過程
begin
declare i int; #申明變數
declare tempi varchar(6); #申明變數
set i=0; #變數賦值
while i<100000 DO #結束迴圈的條件
if i<10 THEN
set tempi=concat(‘0000’,i);
elseif i<100 THEN
set tempi=concat(‘000’,i);
elseif i<1000 THEN
set tempi=concat(‘00’,i);
elseif i<10000 THEN
set tempi=concat(‘0’,i);
else
set tempi=concat(i);
end if; #結束if迴圈
insert into testinsertdatas(number) values(tempi);
set i=i+1;
end while; #結束while迴圈
end // #結束定義語句
delimiter ;
call a(); #呼叫儲存過程
drop procedure if exists a; #執行完刪除儲存過程
<3>注意儲存過程的建立到結束是一體執行的,否則單獨執行會報錯。