PL/SQL 條件控制語句

寒爵發表於2018-08-27

1、if-then 語句

語法:

IF 條件 THEN
     語句序列;
END IF;

例項:

DECLARE 
   i number(2) := 10; 
BEGIN 
   IF i < 20 THEN
     dbms_output.put_line(`True`);
   END IF;
END; 

2、if-then-else 語句

語法:

IF 條件 THEN
     語句序列1;
ELSE
     語句序列2;
END IF;

例項:

DECLARE 
   i number(2) := 10; 
BEGIN 
   IF i < 10 THEN
     dbms_output.put_line(`True`);
   ELSE
     dbms_output.put_line(`False`);
   END IF;
END; 

3、if-then-elsif 語句

語法:

IF 條件1 THEN
     語句序列1;
ELSIF 條件2 THEN
     語句序列2;
ELSE
     語句序列3;
END IF;

例項:

DECLARE 
   i number(2) := 10; 
BEGIN 
   IF i < 10 THEN
     dbms_output.put_line(`True1`);
   ELSIF i < 20 THEN
     dbms_output.put_line(`True2`);
   ELSE
     dbms_output.put_line(`False`);
   END IF;
END; 

注:可以在一個IF-THENIF-THEN-ELSIF語句中使用另一個IF-THENIF-THEN-ELSIF語句。

4、case 語句

語法:

CASE selector 
   WHEN `value1` THEN 語句序列1; 
   WHEN `value2` THEN 語句序列2; 
   WHEN `value3` THEN 語句序列3; 
   ... 
   ELSE 語句序列n;  -- default case 
END CASE;

例項:

DECLARE
  sex CHAR(1) := `1`;
BEGIN
  CASE sex 
    WHEN `1` THEN dbms_output.put_line(``); 
    WHEN `2` THEN dbms_output.put_line(``);   
    ELSE dbms_output.put_line(`RY`);  
  END CASE;
END;

5、搜尋 case 語句

語法:

CASE 
   WHEN selector = `value1` THEN 語句序列1; 
   WHEN selector = `value2` THEN 語句序列2; 
   WHEN selector = `value3` THEN 語句序列3; 
   ... 
   ELSE 語句序列n;  -- default case 
END CASE;

例項:

DECLARE
  sex CHAR(1) := `1`;
BEGIN
  CASE 
    WHEN sex = `1` THEN dbms_output.put_line(``); 
    WHEN sex = `2` THEN dbms_output.put_line(``);   
    ELSE dbms_output.put_line(`RY`);  
  END CASE;
END;

 

相關文章