达梦数据库编程指南
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

2.6.1 IF语句

IF语句控制执行基于分支结构的语句序列,以实现条件控制。

1.IF-THEN形式

IF-THEN是IF语句最简单的形式,将一个条件与一个语句序列相连。当条件表达式的值为TRUE时,执行语句序列。

【例2-23】IF语句举例。

img

2.IF-THEN-ELSE形式

IF-THEN-ELSE形式比IF-THEN形式增加了关键字ELSE,后跟另一语句序列。其形式如下:

img

ELSE子句中的语句序列仅当条件表达式的值为FALSE或NULL时执行。在THEN和ELSE子句中可包含IF语句,即IF语句可以嵌套。

3.IF-THEN-ELSEIF形式

IF-THEN-ELSEIF形式利用ELSEIF关键字引入附加条件。形式如下:

img
img

当条件1表达式的值为FALSE或NULL时,ELSEIF子句测试条件2表达式,当值为TRUE时,则执行语句序列2。IF语句可以有任何数目的ELSEIF语句,而最后的ELSE子句是可选项。在此种情况下,每个条件都对应一个语句序列,条件由顶向底计算。任何一个条件计算为TRUE时,执行相对应的语句序列。如果所有条件计算为FALSE或NULL,则执行ELSE子句中的序列。

【例2-24】IF-THEN-ELSEIF语句举例。

img

其中,bc是布尔数据类型(BOOLEAN)变量。布尔数据类型变量用于存储TRUE、FALSE或NULL(空值)。它没有参数,仅可将3种值赋给1个布尔变量,不能将TRUE、FALSE值插入数据库的列中,也不能从数据库的列中选择或获取列值到BOOLEAN变量。

控制语句中支持的条件谓词有比较谓词、BETWEEN、IN、LIKE和IS NULL。下面以条件控制语句IF语句为例分别进行说明。

【例2-25】含BETWEEN谓词的条件表达式举例。

img

【例2-26】含IN谓词的条件表达式举例。

img

【例2-27】含LIKE谓词的条件表达式举例。

img
img

【例2-28】含IS NULL谓词的条件表达式举例。

img