SQL 中的空值处理与游标使用
1. 空值处理
1.1 空值与空指示符
RPGLE 变量不能为 null。为了处理空值,SQL 使用空指示符。空指示符是双字节(五位)整数变量,其值为 0 或 -1。0 表示非空值,-1 表示空值。
例如,在 EMPLOYEES 表中, commission_pct 被定义为可空列。由于 RPGLE 无法识别 null,在 INTO 子句中, commission_pct 后面会放置一个名为 commPctNull 的空指示符。数据变量 commission_pct 和空指示符 commPctNull 都要以冒号作为前缀,因为它们都是嵌入式 SELECT INTO 语句中的宿主变量,并且这两个宿主变量之间没有逗号分隔。它们之间可以有空格,也可以没有空格。
如果检索行中的 commission_pct 列为 NULL,则相应的空指示符 commPctNull 会被设置为 -1;如果列是非空的(即有有效值),则相应的空指示符变量会被设置为 0。在 SELECT INTO 语句中,对于可空列,必须始终指定空指示符变量,因为如果未指定指示符变量且列值为空,会发生异常并返回异常代码。
1.2 使用数组处理空指示符
如果使用数据结构而不是单个变量,可以使用空指示符数组来
超级会员免费看
订阅专栏 解锁全文
992

被折叠的 条评论
为什么被折叠?



