Skip to main content

This is documentation for Caché & Ensemble. See the InterSystems IRIS version of this content.Opens in a new tab

For information on migrating to InterSystems IRISOpens in a new tab, see Why Migrate to InterSystems IRIS?

外部キー定義

外部キー定義の構造を説明します。

概要

外部キーは、参照整合性制約を定義します。外部キー制約を持つテーブルを変更する際に、外部キー制約が確認されます。

外部キー定義は、永続クラスに追加できます。他のクラスでは意味がありません。

クラスを接続するリレーションシップ・プロパティを定義することで、参照整合性を強制することもできます。

詳細

外部キー定義の構造は以下のとおりです。

/// description ForeignKey name(key_props) References referenced_class(ref_index) [ keyword_list ]; 

以下は、この指定の説明です。

  • description (オプション) は、クラス・リファレンスでの表示を意図しています。description は既定ではブランクです。 "Caché オブジェクトの使用法" の “クラス・ドキュメントの作成” を参照してください。

  • name (必須) は外部キーの名前です。これは、有効なクラス・メンバ名で、かつ他のクラス・メンバ名と重複しないものである必要があります。

  • key_props (必須) は、この外部キーにより制約されるプロパティ (複数可) を指定します。特にこのプロパティは、外部テーブル内の参照される値と一致している必要があります。

    これはプロパティ名のコンマ区切りリストです。

    それらのプロパティは、外部キーを定義する同じクラスに存在する必要があります。

  • referenced_class (必須) は、外部テーブルを指定します (つまり、外部キーが指すクラス)。

  • ref_index (オプション) は、referenced_class 内の一意のインデックス名を指定します。

    ref_index を省略すると、システムは referenced_class 内の IDKEY インデックスを使用します。

  • keyword_list (オプション) は、さらに外部キーを定義するキーワードのコンマ区切りリストです。

    Foreign Key キーワード” のセクションを参照してください。

    このリストを省略する場合は、角括弧も省略します。

ForeignKey EmpKey(EmpId) References MyApp.Employee(EmpID) [ OnDelete = cascade ];

関連項目

FeedbackOpens in a new tab