我有一个rpg程序,其中包含一个更新db2表的例程。
我在程序中声明了一个局部变量
myvar
If <condition>
%nullind(myvar) = *on
它抱怨该字段无法为空。
我在SQL更新语句中使用此变量
UPDATE TABLE
SET X=:myvar
如何将X设置为null?
答案 0 :(得分:7)
内部定义的字段不支持null,但您可以使用外部描述的数据结构导入表定义并为数据库字段启用空值。
H ALWNULL(*USRCTL)
D TABLE E DS EXTNAME(TABLE) QUALIFIED
/FREE
if <condition>;
%nullind(table.x) = *on;
endif;
exec sql update table
set x = :table.x
where <condition>;
/END-FREE