1. loop語句sql
loopexpress
plsql_sentence;oop
exit when end_condition_exp;spa
end loop;code
loop語句會先執行一次循環體,而後再判斷「exit when」關鍵字後面的條件表達式,若是條件表達式爲true,則退出循環體,若是條件表達式爲false,則繼續執行循環體。 blog
declare -- Local variables here v_sum int := 0; v_i int := 0; begin -- Test statements here loop v_i := v_i + 1; v_sum := v_sum + v_i; exit when v_i = 100; end loop; dbms_output.put_line('1到100的和爲:' || v_sum); end;
2. while語句
while condition_expression loopit
plsql_sentence;io
end loop;class
執行前判斷條件表達式,如條件表達式爲True,則執行循環體,如條件表達式爲false,則退出循環體。變量
declare -- Local variables here v_sum int := 0; v_i int := 0; begin -- Test statements here while v_i < 100 loop v_i := v_i + 1; v_sum := v_sum + v_i; end loop; dbms_output.put_line('1到100的和爲:' || v_sum); end;
3. for語句
for variable in [reverse] lower_limit .. up_limit loop
plsql_sentence;
end loop;
variable表示一個變量,一般爲整數類型,用來做爲計數器。
low_limit表示計算的下線值。當值小於下線值時,退出循環。
up_limit表示計算的上線值。當值大於上線值時,退出循環。
reverse表示計數器隨循環遞減。
declare -- Local variables here v_sum int := 0; begin -- Test statements here for v_i in reverse 1 .. 100 loop v_sum := v_sum + v_i; end loop; dbms_output.put_line('1到100的和爲:' || v_sum); end;