外部キーをテーブル属性として指定する場合、FOREIGN KEY column_nameリストは、ターゲット テーブルに対するテーブル定義で定義されている列を指定する必要があります。また、外部キー定義には、同じ列名を複数回含めることはできません。
単純な外部キーは列レベルで定義できますが、複合(複数列)外部キーはテーブル レベルで定義する必要があります。単純な外部キーと複合外部キーとでは、構文に違いがあることに注意してください。
1つのテーブルに複数の外部キー制約を定義できます。
以下のリストにあるデータ型を定義された列は、FOREIGN KEY制約の構成要素となることはできません。
- BLOB
- CLOB
- ARRAY
- VARRAY
- UDT
- PERIOD
- 地理空間
指定するcolumn_nameリストは、そのテーブルに対するPRIMARY KEY列のセット、UNIQUE属性を定義した列のセット、またはUSIの任意のとして定義されている、参照先のテーブル内の代替キーと同じであることが必要です。これは参照制約に必須ではありません。詳細は、<参照制約の使用に関するルール>を参照してください。table-name変数は、参照されるテーブルを指しますが、そのテーブルはユーザー データの実テーブルであり、ビューでないことが必要です。