我有一个rpg程序,其中包含一个更新db2表的例程.
我在程序中声明了一个局部变量
myvar
If <condition>
%nullind(myvar) = *on
Run Code Online (Sandbox Code Playgroud)
它抱怨该字段不能为空.
我在SQL更新语句中使用此变量
UPDATE TABLE
SET X=:myvar
Run Code Online (Sandbox Code Playgroud)
如何将X设置为null?
内部定义的字段不支持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
Run Code Online (Sandbox Code Playgroud)