读书人

Oracle/PLSQL: FOR Loop 循环话语

发布时间: 2012-07-15 20:11:35 作者: rapoo

Oracle/PLSQL: FOR Loop 循环语句

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:

Sql代码 Oracle/PLSQL: FOR Loop 循环话语
  1. FOR loop_counter IN [REVERSE] lowest_number..highest_number
  2. LOOP
  3. {.statements.}
  4. END LOOP;


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.



Sql代码 Oracle/PLSQL: FOR Loop 循环话语
  1. FOR Lcntr IN 1..20
  2. LOOP
  3. LCalc := Lcntr * 31;
  4. END LOOP;


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:



Sql代码 Oracle/PLSQL: FOR Loop 循环话语
  1. FOR Lcntr IN REVERSE 1..15
  2. LOOP
  3. LCalc := Lcntr * 31;
  4. END LOOP;


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:


Sql代码 Oracle/PLSQL: FOR Loop 循环话语
  1. CREATE OR REPLACE
  2. procedure TEST_p(eq_id varchar,eq_id_new varchar,etp_no number) is
  3. v_eq_id varchar2(20) :=eq_id;
  4. v_eq_id_new varchar2(20) := eq_id_new;
  5. v_etp_no number:=etp_no;
  6. begin
  7. for vRows in (select AQD_SEQ_MD_ET_PROCEDURES.nextval as id,certify_yn,required_yn,tpr_no from AQD_MD_ET_PROCEDURES where rownum <5)
  8. LOOP
  9. dbms_output.put_line(vRows.id);
  10. insert into test(id,col2,col3,col4) values(vRows.id,vRows.certify_yn,vRows.required_yn,vRows.tpr_no);
  11. END LOOP;
  12. end TEST_p;
  13. create table TEst(
  14. id number(38),
  15. col2 varchar2(1),
  16. col3 varchar2(1),
  17. col4 number(38)
  18. )

读书人网 >SQL Server

热点推荐