KEY 命令は、索引ファイルのキー構造を指定します。この命令は、出力ファイルが索引ファイルで、そのキー構造が索引入力ファイルと異なる場合に使用します。
KEY 命令のフォーマットは次のとおりです。
KEY ({start,length,ixkey},...)
パラメーターは次のとおりです。
- start
- レコードのキーの開始位置。バイトは 1 からカウントします。
- length
- キーのバイト数
- ixkey
- 次のいずれかになります。
- P
- 主キー (必ず最初に定義します)
- A
- 副キー
- AD
- 重複を含む副キー
- C
- 最後に指定した主キーまたは副キーのコンポーネント
KEY 命令は、キー構造全体の記述に必要なだけ繰り返すことができます。パラメーターとパラメーター セット (start、length、ixkey) を区切るには、カンマを使用します。
キーは、重要度の順に定義する必要があります。主キー、主キーが分割される場合はそのすべてのコンポーネント、最初の副キー、その副キーのすべてのコンポーネントといった順序になります。
次の例では、3 つのキーが定義されています。
KEY (4,5,p,10,5,c,20,2,ad,40,2,a,46,10,c)
詳細は次のとおりです。
4,5,p,10,5,c |
分割される最初の主キーを表します。その最初のコンポーネントの開始文字位置は 4、長さは 5 バイト、2 番目のコンポーネントの開始文字位置は 10、長さは 5 バイトです。 |
20,2,ad |
重複が含まれる 2 番目の (副) キーを表します。この開始文字位置は 20、長さは 2 バイトです。 |
40,2,a,46,10,c |
3 番目のキーを表します。これは分割される副キーで、最初のコンポーネントの開始文字位置は 40、長さは 2 バイト、2 番目のコンポーネントの開始文字位置は 46、長さは 10 バイトです。 |