- PL/SQL 教程
- PL/SQL - 主页
- PL/SQL - 概览
- PL/SQL - 环境
- PL/SQL - 基本语法
- PL/SQL - 数据类型
- PL/SQL - 变量
- PL/SQL - 常量和文字
- PL/SQL - 运算符
- PL/SQL - 条件
- PL/SQL - 循环
- PL/SQL - 字符串
- PL/SQL - 数组
- PL/SQL - 过程
- PL/SQL - 函数
- PL/SQL - 游标
- PL/SQL - 记录
- PL/SQL - 异常
- PL/SQL - 触发器
- PL/SQL - 包
- PL/SQL - 集合
- PL/SQL - 事务
- PL/SQL - 日期和时间
- PL/SQL - DBMS 输出
- PL/SQL - 面向对象
- PL/SQL 实用资源
- PL/SQL - 问题和答案
- PL/SQL - 快速指南
- PL/SQL - 实用资源
- PL/SQL - 讨论
PL/SQL - CASE 语句
和 **IF** 语句一样,**CASE 语句**会选择一个语句序列来执行。但是,**CASE** 语句使用选择器来选择序列,而不是使用多个布尔表达式。选择器是一个表达式,其值用于在多个选项中选择一个选项。
语法
PL/SQL 中 case 语句的语法如下 -
CASE selector WHEN 'value1' THEN S1; WHEN 'value2' THEN S2; WHEN 'value3' THEN S3; ... ELSE Sn; -- default case END CASE;
流程图
示例
DECLARE
grade char(1) := 'A';
BEGIN
CASE grade
when 'A' then dbms_output.put_line('Excellent');
when 'B' then dbms_output.put_line('Very good');
when 'C' then dbms_output.put_line('Well done');
when 'D' then dbms_output.put_line('You passed');
when 'F' then dbms_output.put_line('Better try again');
else dbms_output.put_line('No such grade');
END CASE;
END;
/
当在 SQL 提示符下执行以上代码时,会产生以下结果 -
Excellent PL/SQL procedure successfully completed.
plsql_conditional_control.htm
广告