返回首页

gbase数据、南大通用产品文档:GBase8a

更新日期:2024年09月11日

GBase 8a 单机
GBase 8a 集群

条件语句是根据条件选择执行方向,有两种形式,IF语句和CASE语句。
l
If语句
当PL/SQL执行到IF控制分支的语句时,首先判断条件,根据条件表达式的值选择相应
的语句执行(放弃另一部分语句的执行)。使用范围:
1. 支持控制语句的嵌套
2. 分支结构包括单分支、双分支和多分支三种形式。
l
Case语句

GBase 8s PL/SQL手册
南大通用数据技术股份有限公司
- 43 -

使用if语句处理复杂的分支(多分支)操作,程序结构不够清晰,往往会给编制、调
试、阅读带来一定的困难,用case语句可以使程序结构比较清晰。分为简单case语句和搜
索式case语句两种。使用范围:
1. 当只有一个搜索条件时,计算选择简单case 语句。Case 关键字后会跟selector 表
达式,
selector 只计算一次,
并和表达式的值进行比较。
如果两者匹配,
对应的case
语句的statement 会被执行。
2. 当有多个搜索条件时,需要选择搜索式case 语句。注意,case 关键字后面没有
selector 表达式,当特定条件满足时,会执行该条件相关的statement。

IN
expression IN (value [, …])
右侧括号中的是一个表达式列表。
左侧表达式的结果与表达式列表的内容进行比较。

果列表中的内容符合左侧表达式的结果,则IN 的结果为true。如果没有相符的结果,则IN
的结果为false。
示例如下:
gbase=# SELECT 8000+500 IN (10000, 9000) AS RESULT;
result
----------
f
(1 row)
如果表达式结果为null,
或者表达式列表不符合表达式的条件且右侧表达式列表返回结
果至少一处为空,则IN 的返回结果为null,而不是false。这样的处理方式和SQL 返回空值
的布尔组合规则是一致的。