Oracle中的for和while循环
有两种方式可以实现条件循环
一、for 变量 in 开始数值...结束数值loop
二、while 条件loop
loop的使用方式:
exit when 语句可以出现在循环代码中的任何位置;
for循环:
begin
end;
SQL> declare x int;
2 begin
3 while x<=10
4 loop
5 dbms_output.put_line('x='||x);
6 end loop;
7 end;
8 /
PL/SQL 过程已成功完成。
BEGIN
FOR v_emp IN (select * from emp where deptno=12 )
LOOP
DBMS_OUTPUT.PUT_LIEN(v.emp.empno||' '||v_emp.ename);
END LOOP;
END;
SQL> set serveroutput on
SQL> begin
2 >for x in reverse 1..10
3 >loop
4 >dbms_output.put_line('x='||x);
5 >end loop;
6 >end;
7 >/
x=10
x=9
x=8
x=7
x=6
x=5
x=4
x=3
x=2
x=1
PL/SQL 过程已成功完成。
SQL> begin
2 for x in 1..10
3 loop
4 dbms_output.put_line('x='||x);
5 end loop;
6 end;
7 /
x=1
x=2
x=3
x=4
x=5
x=6
x=7
x=8
x=9
x=10
PL/SQL 过程已成功完成。
SQL> begin
2 for x in reverse 1..10 loop dbms_output.put_line('x='||x);end loop;
3 end;
4 /
x=10
x=9
x=8
x=7
x=6
x=5
x=4
x=3
x=2
x=1
PL/SQL 过程已成功完成。
如以下两个例:
1)
Create Or Replace Procedure Count_Number Is
Begin
End Count_Number;
2)
Create Or Replace Procedure Count_Number Is
Begin
End Count_Number;
注:以上的结论都是一样的 !
以下是一个非常简单的过程,用来熟悉循环的!
1)使用while ....loop ....end loop ;
CreateOr Replace Procedure Count_Number Is
Begin
End Count_Number;
2)用for实现:for i in 1..l00 loop ....end loop;
Create Or Replace Procedure Count_Number Is
Begin
End Count_Number;
for循环:
[PL/SQL] 用For Loop 替代Cursor
http://www.itwenzhai.com/data/2006/0523/article_9377.htm
http://blog.youkuaiyun.com/heyday/archive/2005/07/27/435804.aspx
CURSOR FOR Loop
应用:
begin
end;
存储过程DIY2----游标与循环
http://blog.youkuaiyun.com/brave1/archive/2005/06/08/390160.aspx
WHILE( i <= CEIL( LENGTH( p_clob_data ) / 4000))