IF-THEN語句是最簡單的IF語句。oop
語法:spa
IF condition THEN Statements END IF;
例子:code
declare v_score number := &成績; begin if v_score >= 60 then dbms_output.put_line('合格'); end if; end;
與IF-THEN語句相比,在IF-THEN-ELSE語句則給出了在不知足條件時程序的外理狀況。blog
語法:it
IF condition THEN Statements1 ELSE Statements2 END IF;
例子:io
declare v_score number := &成績; begin if v_score >= 60 then dbms_output.put_line('合格'); else dbms_output.put_line('不合格'); end if; end;
該語句是當存在多個不一樣條件時使用,注意此時是ELSIF,而不是ELSEIF。class
語法:循環
IF condition1 THEN Statements1 ELSIF condition2 THEN Statements2 ELSE Statements3 END IF;
例子:語法
declare v_score number := &成績; begin if v_score >= 90 then dbms_output.put_line('優秀'); elsif v_score >= 60 then dbms_output.put_line('合格'); else dbms_output.put_line('不合格'); end if; end;
CASE語句是在Oracle 9i 版本後引入的控制語句結構。程序
語法:
CASE variable WHEN value1 THEN statements1; WHEN value2 THEN statements2; …… WHEN valuen THEN statementsn; [ELSE else_statements;] END CASE;
例子:
declare v_score number := &成績; begin case v_score when 1 then dbms_output.put_line('星期一'); when 2 then dbms_output.put_line('星期二'); when 3 then dbms_output.put_line('星期三'); when 4 then dbms_output.put_line('星期四'); when 5 then dbms_output.put_line('星期五'); when 6 then dbms_output.put_line('星期六'); when 7 then dbms_output.put_line('星期日'); else dbms_output.put_line('未知'); end case; end;
LOOP循環是最簡單的一種循環。需使用 EXIT 語句來退出循環。
語法:
LOOP statements; END LOOP;
例子:
declare v_num number := 1; begin loop dbms_output.put_line(v_num); v_num := v_num+1; if v_num>15 then exit; end if; end loop; end;
WHILE-LOOP 循環是在執行循環時,先判斷循環條件是否成立,當條件爲TRUE時,纔開始執行循環體內的語句。
語法:
WHILE condition LOOP statements; END LOOP;
例子:
declare v_num number := 1; begin while v_num<=15 loop dbms_output.put_line(v_num); v_num := v_num+1; end loop; end;
與WHILE-LOOP 循環相比,FOR-LOOP 循環能夠清楚的知道循環的次數,而且FOR 循環還肯定了循環的範圍。
語法:
FOR loop_count IN [REVERSE] lower_bound..height_bound LOOP statements; END LOOP;
例子:
declare begin for i in 1..15 LOOP dbms_output.put_line(i); END LOOP; end;