PL/SQL 流程控制語句-條件結構,循環結構

條件結構

1、IF-THEN語句

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;

 

2、IF-THEN-ELSE語句

與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;

 

3、IF-THEN-ELSIF語句

該語句是當存在多個不一樣條件時使用,注意此時是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;

 

4、CASE 語句

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;

 

循環結構

1、LOOP循環

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;

 

2、WHILE-LOOP 循環

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;

 

3、FOR-LOOP 循環

與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;
相關文章
相關標籤/搜索