2

我有一个 rpg 程序,其中包含一个更新 db2 表的例程。

我在程序中声明了一个本地变量

myvar

If <condition>
    %nullind(myvar) = *on

它抱怨该字段不能为空。

我在 SQL 更新语句中使用此变量

 UPDATE TABLE
 SET X=:myvar

如何将 X 设置为空?

4

1 回答 1

7

内部定义的字段不能为空,但您可以使用外部描述的数据结构来导入表定义并为数据库字段启用空值。

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
于 2013-06-26T19:24:48.270 回答