1

DB2バージョン8z/ OSはnull許容外部キーをサポートしていますか?

たとえば、personテーブルからsupervisorテーブルへの外部キー(一部の人にはスーパーバイザーがいない場合)。

4

2 に答える 2

2

ドキュメントによると、DB2 for z /OSv8でnull許容の外部キーを持つことが可能であるはずです。これらの詳細については、挿入更新、および削除のルールを参照してください。

挿入ルール 外部キーのnull以外の挿入値は、親テーブルの親キーの値と一致する必要があります。値のいずれかのコンポーネントがnullの場合、複合外部キーの値はnullになります。

更新ルール 外部キーのnull以外の更新値は、親テーブルの親キーの値と一致する必要があります。複合外部キーの値は、値のいずれかのコンポーネントがnullの場合、nullとして扱われます。

削除ルール 親テーブルの行が削除されたときに何が起こるかを制御します。参照制約が定義されているときに行われるアクションの選択肢は、RESTRICT、NO ACTION、CASCADE、またはSETNULLです。SET NULLは、外部キーの一部の列でnull値が許可されている場合にのみ指定できます。

サイト参照: http: //publib.boulder.ibm.com/infocenter/dzichelp/v2r2/index.jsp?topic =%2Fcom.ibm.db2.doc.sqlref%2Frcncrfi.htm

DB2 v8外部キー句のリファレンス(ヌルが許可されていることにも注意してください):http://publib.boulder.ibm.com/infocenter/db2luw/v8/index.jsp?topic = / com.ibm.db2.udb.doc / admin / c0004981.htm

于 2012-07-31T19:01:51.620 に答える
1

2013年1月以降にIBMWebサイトから削除されるドキュメントを調べるよりも、試してみる方が早いでしょう。

これは、 CREATETABLEステートメントの説明の一部です。

参照制約の外部キーは、識別された列で構成されます。|各column-nameは、| LOB、ROWID、またはセキュリティラベル列を除くテーブルの列を識別する非修飾名である必要があります。|同じ列を複数回識別してはなりません。識別された列の数は64を超えてはならず、それらの長さ属性の合計は、255からnull値を許可する列の数を引いたものを超えてはなりません。FOREIGN KEYと親テーブルが、以前に定義された参照制約のFOREIGN KEYと親テーブルと同じである場合、参照制約は重複しています。重複する参照制約の指定は、警告とともに無視されます。

したがって、外部キーには1つ以上のnull許容列を含めることができます。

于 2012-07-31T19:07:34.793 に答える