識別列

識別列は、ファイルごとに1つしか設定できません。複数あっても、外部ファイルのロードコマンドは、そのうち先に見つかった方のみを認識します。

識別列の値を明示的に指定してレコードを挿入/更新することはできません。識別列がプライマリ・キーでもある場合、INSERTコマンドのFIELDS(…)パラメータでその旨を指定する必要があります。ただし、このフィールドの値をINSERTコマンドで明示的に指定することはできず、指定したとしてもその値にはなりません。

一意的な値が自動的に決まりますが、具体的にどんな値になったかは、挿入後に行を読み直してみるしか知る手段がありません。行を一意に特定して取得しなければならないので、識別列とは別に、プライマリ・キー、値が一意に決まる論理ファイル、インデックスのいずれかが必要です。

注:IBM i用の外部ファイルをIBM i以外のプラットフォーム上でコンパイルする際、テーブルをいったん削除してから再作成し、データを読み込み直すと、識別列の値は新たに生成されるので、従前の値と同じになるとは限りません。

次のトピックも参照してください。

外部ファイルの取り扱い

RRNO の欄の作成