CASE 语句

CASE 语句使用 WHEN 子句中定义的规则来选择要处理的语句块。

CASE 语句有两种形式:简单形式和搜索形式。

语法

在简单方式下,先求值主表达式。依次对每个 WHEN 子句表达式求值,直到结果等于主表达式的结果。然后执行该 WHEN 子句的语句。如果未找到匹配且存在可选的 ELSE 子句,则将替换执行 ELSE 子句的语句。测试值不必是文字。唯一的要求是主表达式和 WHEN 子句表达式求值得到的类型是可以比较的。

在搜索方式下,将依次求值每个 WHEN 子句表达式,直到有一个表达式求值为 TRUE 为止。然后执行该 WHEN 子句的语句。如果没有表达式的求值结果是 TRUE 且存在可选的 ELSE 子句,则将执行 ELSE 子句的语句。每个 CASE 子句中的表达式之间不必有任何相似之处。唯一的要求是它们求值得出的都是布尔值。

ESQL 语言同时有 CASE 语句和 CASE 函数(请参阅 CASE 函数以获取 CASE 函数的详细信息)。CASE 语句选择执行语句集合中的一个。CASE 函数选择求值表达式集合中的一个,并将所选表达式的返回值作为它的值返回。

示例

简单 CASE 语句:
CASE size
    WHEN minimum + 0 THEN
        SET description = 'small';
    WHEN minimum + 1 THEN
        SET description = 'medium';        
    WHEN minimum + 2 THEN
        SET description = 'large';
        CALL handleLargeObject();
           ELSE
    SET description = 'unknown';
        CALL handleError();
END CASE;
搜索 CASE 语句:
CASE
WHEN i <> 0 THEN
        CALL handleI(i);
  WHEN j > 1 THEN
        CALL handleIZeroAndPositiveJ(j);
           ELSE
        CALL handleAllOtherCases(j);
END CASE;
相关概念
ESQL 概述
相关任务
正在开发 ESQL
相关参考
语法图:可用类型
ESQL 语句
CASE 函数
声明 | 商标 | 下载 | 书库 | 支持 | 反馈
Copyright IBM Corporation 1999, 2006 最后一次更新时间:2006/08/14
ak04930_