
# 分支语句
#### 语法
分支语句的语法请参见[图1]。
图1case_when::=   
![](https://support.huaweicloud.com/centralized-devg-v8-gaussdb/figure/zh-cn_image_0000002526899582.png "点击放大")
when_clause子句的语法图参见[图2]。
图2when_clause::=   
![](https://support.huaweicloud.com/centralized-devg-v8-gaussdb/figure/zh-cn_image_0000002527059532.png "点击放大")
参数说明：
- case_expression：变量或表达式。
- when_expression：常量或者条件表达式。
- statement：执行语句。
 
#### 示例
```
gaussdb=# 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; 
/
CREATE PROCEDURE
gaussdb=# CALL proc_case_branch(3,0);
INFO:  pi_return : 333
 pi_return 
-----------
       333
(1 row)
--删除存储过程
gaussdb=# DROP PROCEDURE proc_case_branch;
DROP PROCEDURE
```
