INDICES (file.variable [ ,indexname])
INDICES 関数は、ファイルの 2 次キー索引に関する情報を返します。
file.variable は、開いているファイルを指定します。
indexname は、指定ファイル内の 2 次索引名です。
file.variable のみが指定されると、ファイルの 2 次索引すべての索引名を含んだ動的配列が返されます。索引名はフィールド・マークで区切られます。 file.variable に索引がない場合は、空白ストリングが戻ります。
indexname が指定されると、indexname の動的配列に情報が返されます。動的な配列のフィールド 1 は次の情報を格納します。
| 値 | 格納される値 | 説明 |
|---|---|---|
| 値 1 | D I A S C SQL |
データ記述子索引 I 記述子索引 A 記述子索引 S 記述子索引 フィールド 8 で相関関係を持つ A 記述子索引または S 記述子索引。SQL 索引。 |
| 値 2 | 1 空 |
索引の再作成が必要 索引の再作成は不要 |
| 値 3 | 1 空 |
空白ストリングは索引処理されない 空白ストリングは索引処理される |
| 値 4 | 1 空 |
自動更新が有効 自動更新が無効 |
| 値 5 | パス名 空 |
索引ファイルの絶対パス名。 ファイルは分散ファイル |
| 値 6 | 1 空 |
更新は保留中 保留中の更新なし |
| 値 7 | L
R |
左揃え 右揃え |
| 値 8 | N
U |
ユニークでない。 ユニーク |
| 値 9 | パート番号 | 分散ファイルのパート番号のサブ値リスト。 |
| 値 10 | 1 索引はビルドが必要 空 ビルドは不要 |
値 9 内のサブ値に対応するサブ値リスト。 |
| 値 11 | 1 空白ストリングは索引が付けられていない。 空 索引のある空白ストリング |
値 9 内のサブ値に対応するサブ値リスト。 |
| 値 12 | 1 更新可能 空 更新不可能 |
値 9 内のサブ値に対応するサブ値リスト。 |
| 値 13 | 索引のパス名 | 値 9 内のサブ値に対応する、分散ファイルのパート・ファイル上の索引のパス名のサブ値リスト。 |
| 値 14 | 1 更新保留 空 延期される更新はなし |
値 9 内のサブ値に対応するサブ値リスト。 |
| 値 15 | L 左揃え R 右揃え |
値 9 内のサブ値に対応するサブ値リスト。 |
| 値 16 | N ユニークでない U ユニーク |
値 9 内のサブ値に対応するサブ値リスト。 |
| 値 17 | 照合名 | 索引の照合規則の名前 |
フィールド 1 の値 1 が D、A、または S の場合、フィールド 2 には、フィールド位置 (すなわちフィールド番号) が含まれ、フィールド 6 には、S (単一値フィールド) か M (複数値フィールド) が含まれます。
フィールド 1 の値 1 が I または SQL なら、動的な配列のそれ以外のフィールドはファイル辞書の I 記述子から引き出された次の情報を格納します。
M - 複数値フィールド
フィールド 1 の値 1 が C の場合、動的な配列のその他のフィールドには、ファイル・ディクショナリーの A 記述子か、S 記述子から引き出された次の情報が含まれます。
file.variable が indexname のどちらかが NULL 値である場合、INDICES 関数は正しく実行されずプログラムはランタイム・エラー・メッセージを出力して終了します。
トランザクション内 (BEGIN TRANSACTION ステートメントと COMMIT ステートメントの間) で実行されるファイルの更新は、COMMIT ステートメントが実行されるまでは、INDICES 関数にアクセスできません。
NLS が有効なら、INDICES 関数は索引の作成時に適用された現在の照合規則 (NLS.LC.COLLATE ファイルで指定される) の名前を報告します。 索引の照合規則の名前については、フィールド 1 の値 17 を参照してください。