PL/SQL 条件控制语句
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-THEN
或IF-THEN-ELSIF
语句中使用另一个IF-THEN
或IF-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;