1、LOOP循环案例  loop和IF的结合
declare
x number;
begin
x:=0;
loop    --循环开始
x:=x+1;
if x>3 then   --循环体
exit;      
end if;   
dbms_output.put_line('内x的值'||x); --循环体
end loop;   --结束循环
dbms_output.put_line('外X的值'||x);
end;
/
输出结果:
内x的值1
内x的值2
内x的值3
外X的值4



2、while和loop结合循环的案例

declare
x number;
y varchar2(10);
begin
x:=1;
while x<=3 loop          --while和loop循环
x:=x+1;
dbms_output.put_line('x的值为'||x);
end loop;    --结束循环
end;
/

3、for和loop结合循环的案例[reverse]是可选的,意思是说反过来5..1的意思,在Oracle的for循环递增量只能是1,不能修改
begin
for I [reverse] in 1..5 loop    --for和loop结合
dbms_output.put_line('i的值'||i);
end loop;
dbms_output.put_line('out');
end;
/

4、通过goto自己控制每一步循环的方式

declare
x number;
begin
x:=0;
<<gsign>>    --定义goto标签
x:=x+1;      --这里加几就是控制step的方法
dbms_output.put_line(x);   
if x<5 then
goto gsign;    --将语句定义到上面goto的地方

posted on 2012-06-26 23:45  幻影11  阅读(2904)  评论(0编辑  收藏  举报