Skip to main content

This documentation is for an older version of this product. See the latest version of this content.Opens in a new tab

IdFunction (Storage キーワード)

既定のストレージを使用して永続クラスの新しい ID 値を割り当てるのに使用されるシステム関数を指定します。

Synopsis

<IdFunction>increment</IdFunction>

この要素の値は、increment ($increment 関数を使用する場合) または sequence ($sequence 関数を使用する場合) のいずれかです。

説明

永続クラスが、オブジェクト ID の値の特定に IdKey を使用しない場合、この要素により ID 値を割り当てるのに使用する関数 ($increment 関数、または $sequence 関数) を指定できます。

クラスで $increment 関数を使用する場合、新しい ID は、<IdLocation> 要素で定義されているグローバルの位置に格納されている値をインクリメントすることによって作成されます。

クラスで $sequence 関数を使用する場合、これは、高速データ取り込みでより高速にできるよう、ID のブロックを予約できます。予約されたすべての ID が使用されない場合、ID 番号が連続しないことがあります。後続のデータが取り込まれるときに、これらの欠落番号は埋められることも、埋められないこともあります。副次的作用として、大きな番号の ID を持つクラスのインスタンスが必ずしも小さい番号の ID を持つクラスのインスタンスより新しいとは限らなくなります。さらに、<IdLocation> 要素で定義されたグローバルの位置の値は、現在割り当てられているどの ID にも直接関連しません。

既定値

<IdFunction> 要素の規定値は、クラス定義を使用して作成されたクラスの increment です。

<IdFunction> 要素の規定値は、DDL CREATE TABLE 文を使用して作成されたクラスの sequence です。

FeedbackOpens in a new tab