2013-06-26 2 views
2

db2 테이블을 갱신하는 루틴이 들어있는 rpg 프로그램이 있습니다.DB2 및 RPG에서 NULL 값 설정

나는 프로그램

myvar 

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

는 필드가 null의 할 수없는 것을 불평의 지역 VAR를 선언했다.

나는

UPDATE TABLE 
SET X=:myvar 

는 어떻게 X null로 설정할 수있는 SQL 업데이트 문에이 변수를 사용할 수 있습니까?

+3

테이블에서 NULL을 허용합니까? [RPGLE 프로그램] (http://publib.boulder.ibm.com/iseries/v5r2/ic2924/books/c0925083577.htm)에서 [NULL 허용] (http://publib.boulder.ibm.com)을 말 했습니까? /iseries/v5r2/ic2924/books/c0925083225.htm#HDRHALWNUL)? –

답변

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