Oracle/PLSQL: FOR Loop:
http://www.techonthenet.com/oracle/loops/for_loop.php
Loops with PL/SQL:
http://www.adp-gmbh.ch/ora/plsql/loops.html
The syntax for the FOR Loop is:
- FORloop_counterIN[REVERSE]lowest_number..highest_number
- LOOP
- {.statements.}
- ENDLOOP;
You would use a FOR Loop when you want to execute the loop body a fixed number of times.
Let's take a look at an example.
- FORLcntrIN1..20
- LOOP
- LCalc:=Lcntr*31;
- ENDLOOP;
This example will loop 20 times. The counter will start at 1 and end at 20.
The FOR Loop can also loop in reverse. For example:
- FORLcntrINREVERSE1..15
- LOOP
- LCalc:=Lcntr*31;
- ENDLOOP;
This example will loop 15 times. The counter will start at 15 and end at 1. (loops backwards)
oracle学习--循环语句:
http://www.cnblogs.com/happyday56/archive/2007/06/22/793102.html
On Cursor FOR Loops:
http://www.oracle.com/technology/oramag/oracle/08-nov/o68plsql.html
A Example:
- CREATEORREPLACE
- procedureTEST_p(eq_idvarchar,eq_id_newvarchar,etp_nonumber)is
- v_eq_idvarchar2(20):=eq_id;
- v_eq_id_newvarchar2(20):=eq_id_new;
- v_etp_nonumber:=etp_no;
- begin
- forvRowsin(selectAQD_SEQ_MD_ET_PROCEDURES.nextvalasid,certify_yn,required_yn,tpr_nofromAQD_MD_ET_PROCEDURESwhererownum<5)
- LOOP
- dbms_output.put_line(vRows.id);
- insertintotest(id,col2,col3,col4)values(vRows.id,vRows.certify_yn,vRows.required_yn,vRows.tpr_no);
- ENDLOOP;
- endTEST_p;
- createtableTEst(
- idnumber(38),
- col2varchar2(1),
- col3varchar2(1),
- col4number(38)
- )