IdKey (インデックス・キーワード)
使用法
このテーブルのオブジェクト識別値を、このインデックスが基づくプロパティから構成することを指定するには、以下の構文を使用します。
Index name On property_expression_list [ IdKey ];
以下はその説明です。
-
name はインデックスの名前です。インデックスをプロパティと容易に区別できるよう、名前付け規約に従うと便利です。例えば、すべてのインデックス名の末尾に IDX を含めることができます。
-
property_expression_list は、単一のプロパティ名、または括弧で囲んだ複数のプロパティのコンマ区切りリストのいずれかにします。
そのように指定しない場合は、このキーワードを省略し、キーワードの直前に単語 Not を指定します。
詳細
このキーワードは、このインデックスが基づくプロパティを、このオブジェクトのオブジェクト識別値の作成に使用することを指定します。
IDKEY インデックスによって使用されるどのプロパティの値においても、そのプロパティが永続クラスのインスタンスへの有効な参照でない限り、連続する 2 つの垂直バー (||) は使用しないでください。この制限は、InterSystems SQL のメカニズムが動作するための方法に起因しています。IDKey プロパティ で || を使用すると、予測できない動作が起こる可能性があります。
オブジェクト識別値は、永続オブジェクト・インスタンスを一意に特定するために使用します。IdKey を使用するオブジェクトがいったん保存された後は、IdKey を作成したプロパティの値は変更できません。
IdKey インデックスは、一意のインデックスと同様の振る舞いをします。つまり、このインデックスで使用するプロパティ (またはプロパティの組み合わせ) の場合は、InterSystems IRIS では必ず一意となります。このインデックス定義で Unique キーワードを True に指定することは、可能ですが不必要です。
IdKey インデックスについては、InterSystems IRIS が、オブジェクトのオープン、存在確認、削除に使用できるメソッドを生成します。"メソッドのオープン、存在確認、および削除" を参照してください。
既定値
IdKey キーワードの既定値は、False です。