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

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

myvar

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

它抱怨该字段不能为空。

我在SQL更新语句中使用此变量
 UPDATE TABLE
 SET X=:myvar

如何将X设置为null?

最佳答案

内部定义的字段不支持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

关于db2 - 在DB2和RPG中设置NULL值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17328016/

10-11 02:52
查看更多