
# 分支语句
#### 语法
分支语句的语法请参见[图1]。
图1case_when::=   
![](https://support.huaweicloud.com/centralized-devg-v2-gaussdb/figure/zh-cn_image_0000002220895133.png "点击放大")
when_clause子句的语法图参见[图2]。
图2when_clause::=   
![](https://support.huaweicloud.com/centralized-devg-v2-gaussdb/figure/zh-cn_image_0000002185454946.png "点击放大")
参数说明：
- case_expression：变量或表达式。
- when_expression：常量或者条件表达式。
- statement：执行语句。
 
#### 示例
```
CREATE OR REPLACE PROCEDURE proc_case_branch(pi_result in integer, pi_return out integer)
AS 
    BEGIN 
        CASE pi_result 
            WHEN 1 THEN 
                pi_return := 111; 
            WHEN 2 THEN 
                pi_return := 222; 
            WHEN 3 THEN 
                pi_return := 333; 
            WHEN 6 THEN 
                pi_return := 444; 
            WHEN 7 THEN 
                pi_return := 555; 
            WHEN 8 THEN 
                pi_return := 666; 
            WHEN 9 THEN 
                pi_return := 777; 
            WHEN 10 THEN 
                pi_return := 888; 
            ELSE 
                pi_return := 999; 
        END CASE; 
        raise info 'pi_return : %',pi_return ; 
END; 
/
CALL proc_case_branch(3,0);
--删除存储过程
DROP PROCEDURE proc_case_branch;
```
