Oracle 常用的迴圈小結

2021-07-04 18:05:24 字數 2390 閱讀 8029

作為程式語言中的三大基本邏輯之一的迴圈,這次在我的專案開發中也用到了不少,但是有乙個問題不知道是不是蠻長時間沒有使用導致,要用到的時候,不能第一時間完整地寫出,也許是生疏了,也也許是之前為了方便都是從以前的筆記ctrl+v的緣故吧。

for i in (1...100)  loop

//迴圈語句

end loo;

其實就相當於 for(int i=0;i<100;i++)

for k in (select ra2.levelno,rownum + 8 ordernum

from (select

distinct cl.levelno

from pdm_ylzj_crutoqualinspe c

--只選擇合併後的資料

inner

join pdm_ylzj_crutoqualsumsheetd sd on sd.pdm_ylzj_crutoqualinspeid =

c.pdm_ylzj_crutoqualinspeid

inner

join pdm_ylzj_crutolevelstruc cl on cl.pdm_ylzj_crutoqualinspeid =

c.pdm_ylzj_crutosendinspeid

and c.provincesno = p_province

and c.purchaselevel = i.purchaselevel

left

join pdm_ylzj_recrutoqualinspe fj on fj.inspectionno = c.inspectionno

and nvl(fj.isdeleted, '0') = '0'

where nvl(c.isdeleted, 0) = 0

and cl.leveltype = '2'

and c.provincesno = p_province

and instr(decode(p_yearno, '', c.yearno, p_yearno), c.yearno) > 0

order

by cl.levelno asc) ra2)

loop

v_tmpdiff2ratio := f_getstrutslvlweightratio(p_cigatype, p_yearno, p_projtype, p_level, p_part,

p_grade, p_way, p_inspeuser, p_inspedatestart,

p_inspedateend, p_province, p_city, p_country,

p_isqualify, i.purchaselevel, k.levelno, '2');

v_upd2diff2sql := 'update dynatempdata dd set t' || k.ordernum || '=''' || v_tmpdiff2ratio ||

'''where dd.dynatempdataid=''' || v_row2guid || '''

and dd.conditionid=''' ||

p_conditionid || '''';

execute immediate v_upd2diff2sql;

end loop;

create

or replace procedure

p_cursor_employee

isemprows

employees%rowtype;

cursor emprows is

select * from employees;

begin

for emprows in emprows loop

dbms_output.put_line(emprows.employeeid||』,'||emprows.name||』,'||emprows%rowcount);

endloop;

end p_cursor_employee;

while i<100

loop

i :=i+2;

endloop;

create

or replace procedure

proc_test_exit_whenisi

number;

begin

i := 0;

loop

exit when(i > 10);

dbms_output.put_line(i);

i := i + 1;

endloop;

end;

當i>10 時退出迴圈,否則一直執行

oracle迴圈語句小結

主要有以下五種迴圈 exit when loop while for 普通迴圈 for 游標迴圈 下面舉例一一說明 均為儲存過程 1 exit when迴圈 create or replace procedure proc test exit when is i number begin i 0 l...

oracle迴圈語句小結

主要有以下五種迴圈 exit when loop while for 普通迴圈 for 游標迴圈 下面舉例一一說明 均為儲存過程 1 exit when迴圈 create or replace procedure proc test exit when is i number begin i 0 l...

oracle迴圈語句小結

oracle迴圈語句小結 主要有以下五種迴圈 exit when loop while for 普通迴圈 for 游標迴圈 下面舉例一一說明 均為儲存過程 1 exit when迴圈 create or replace procedure proc test exit when is i numbe...