DDSでプライマリキー?

DB2 UDB for iSeriesにデータベース・オブジェクトを作成するには、DDLを使う方法とDDS(Data Description Specifications)を使う方法の二つがある。RDBといえばDDLを使うのが一般的なのだろうけど、AS400RPGを使う場合はDDSを使う(のが普通だと思う)。ちなみにSQLアクセスはどちらで定義しても実行できる。

DDSを使った場合にプライマリキーってつけられるのだろうか。会社のシステムではユニークキーをつけている。DDSを使った場合、デフォルトですべてのカラムにたいしてNull値不可になるので実質的にはプライマリキーと変わらないはず。RPGでは困らない。で、S2DaoSQL自動生成試してみたらプライマリキーと識別されなくて(当然か)正しいSQL生成されず。でも、プライマリキーと指定するようなそれらしきキーワードが見つからない。

UNIQUE[(*INCNULL | *EXCNULL)] このパラメーターの指定は任意です。指定した場合、このパラメーターにより、ヌルのキー値を重複とみなすかどうかが決まります。*INCNULL が省略時値で、これは重複の判別のさいにヌル値を含めることを示します。*EXCNULL を 指定した場合は、重複の判別のさいにヌル値を含めないことを示します。

この辺が怪しいか。パラメータ指定していないけど、*EXCNULL指定したらプライマリキーになるのかな?