一、控制语句
1、if语句
语法:
IF <布尔表达式> THEN
PL/SQL和SQL语句
END IF;
示例:
DECLARE v_count NUMBER := &n; BEGIN IF v_count > 0 THEN DBMS_OUTPUT.put_line(‘正数‘); END IF; END;
判断是否为正整数!
2、if...else...
语法
IF <布尔表达式> THEN
PL/SQL 和 SQL 语句
ELSE
其他语句
END IF;
示例:
DECLARE v_count NUMBER := &n; BEGIN IF v_count > 0 THEN DBMS_OUTPUT.put_line(‘正数‘); ELSE DBMS_OUTPUT.put_line(‘负数‘); END IF; END;
判断是否为正数或者负数!
3、多重if...else...结构
语法:
IF <布尔表达式> THEN
PL/SQL 和 SQL 语句
ELSIF <其他布尔表达式> THEN
PL/SQL 和 SQL 语句
ELSIF <其他布尔表达式> THEN
PL/SQL 和 SQL 语句
ELSE
PL/SQL 和 SQL 语句
END IF;
示例:
DECLARE v_count NUMBER := &n; BEGIN IF v_count > 0 THEN DBMS_OUTPUT.put_line(‘正数‘); ELSIF v_count < 0 THEN DBMS_OUTPUT.put_line(‘负数‘); ELSE DBMS_OUTPUT.put_line(‘零‘); END IF; END;
4、CASE语句语法:
格式一:
CASE 条件表达式
WHEN 条件表达式结果1 THEN
语句段1
WHEN 条件表达式结果2 THEN
语句段
......
WHEN 条件表达式结果n THEN
语句段n
[ELSE 语句段]
END CASE;
示例:根据输入1-7显示星期
DECLARE v_week NUMBER := &S; BEGIN CASE v_week 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;
格式二:
CASE
WHEN 条件表达式1 THEN
语句段1
WHEN 条件表达式2 THEN
语句段
......
WHEN 条件表达式n THEN
语句段n
[ELSE 语句段]
END CASE;
示例:根据分数输出A,B,C,D,E
DECLARE V_SCORE NUMBER := &N; BEGIN CASE WHEN V_SCORE >= 90 THEN DBMS_OUTPUT.PUT_LINE(‘A‘); WHEN V_SCORE >= 80 THEN DBMS_OUTPUT.PUT_LINE(‘B‘); WHEN V_SCORE >= 70 THEN DBMS_OUTPUT.PUT_LINE(‘C‘); WHEN V_SCORE >= 60 THEN DBMS_OUTPUT.PUT_LINE(‘D‘); ELSE DBMS_OUTPUT.PUT_LINE(‘E‘); END CASE; END;
时间: 2024-10-17 06:49:25