Oracle的三种循环
循環語句在Oracle中有三種,不常見的是loop,至于for,while循環太過基礎,不予解釋
loop(可以為循環設置標簽)
注意:
1.goto label_name,設置標簽的語法如下:
<<label_name>>
可以為循環設置標簽
2.?<<label_name>> 后面不能直接跟EXCEPTION這種關鍵字類的語句,要用NULL把標簽跟關鍵字隔開。類似的關鍵字還有END LOOP之類的,等等。
實例代碼:
CREATE OR REPLACE PROCEDURE dd IS
? i PLS_INTEGER;
BEGIN
? i := 0;
? LOOP
? ? <<top>>? ? ?//此處為循環設置標簽
? ? i := i + 1;
? ? IF i > 10 THEN
? ? ? EXIT;
? ? END IF;
? ? IF i > 5 THEN
? ? ? GOTO top;
? ? END IF;
? ? dbms_output.put_line(i);
? END LOOP;
END;
loop循環:
<1>while loop循環
declare?
? ? ? ? ? v_rlt number(8) := -3;
begin
? ? ? ? ?<<fst_loop>>
? ? ? ? ?while(v_rlt < 40 )
? ? ? ? ? ? loop
? ? ? ? ? ? ?dbms_output.put_line('v_rlt = '||v_rlt);
? ? ? ? ? ?v_rlt := v_rlt + 1;
? ? ? ? ? ? end loop fst_loop;
? ? ? ? ? ? ?dbms_output.put_line('當前循環已接結束!');
? ? ? ? ? ? ?end;
<2>for in loop循環
begin
? ? ? for ?v_rlt? ?in? -3..3 loop
dbms_output.put_line('v_rlt =' || v_rlt) ;
end loop;
dbms_output.put_line('當前循環已結束!');
end;
<3>純loop循環
declare?
? ? ? ? ? ? ?v_rlt number(8) := -3;
begin
? ? ? ? ? ? <<fst_loop>>
? ? ? ? ? ?loop
? ? ? ? ? ? ? ? dbms_output.put_line('v_rlt =' || v_rlt);
? ? ? ? ? ? ? ? v_rlt := v_rlt + 1;
? ? ? ? ? ? ? ? exit fst_loop when v_rlt > 3;
? ? ? ? ? ? ? ? end loop;
? ? ? ? ? ? ? ? dbms_output.put_line('當前循環已經結束!');
? ? ? ? ? ?end;
while循環(太基礎)
for循環(太基礎)
值得注意的是這些循環可以嵌套使用
?
?
總結
以上是生活随笔為你收集整理的Oracle的三种循环的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 带清的男孩名字 清字可以搭配哪个字一起起
- 下一篇: 中启工作问题