2012-01-28 9 views
0

私は2つのテーブルを持っています。表1には、別の表の有効な主キーを表す外部キーがあります(表2)。今問題は、この外部キーが時にはnullになる可能性があることです(それはそうであると考えられます)。外部キーがnullでない場合にのみ、制約をチェックする方法はありますか?外部キーがNULLでない場合にのみ、2つのテーブル間で制約を定義するにはどうすればよいですか?

PD>私は現在C#でプログラミングしており、SQL Server Management Studioを使用しています。

+0

外部キーがNULLの場合にエラーを発生させるTable1を挿入および更新するためのストアドプロシージャを作成します。 –

+4

私の経験では、通常、外部キーはヌルにすることができます。あなたはこれが事実でないと分かっていますか?予期しないエラーメッセージや動作が表示されますか? – phoog

+0

制約のために挿入を適用できないというエラーが表示されます。 – user990692

答えて

0

テーブルに追加の「CHECK」制約を追加すると、値を関数に渡して値をチェックできるようになります。ちょうど思考...

は、SQL Serverで例 link

3

のためにここを見てみましょう、FK制約を使用すると、説明したとおりに動作する - 彼らは唯一の親テーブルに対してNOT NULL値を確認します。外部キーを使用するだけです。

関連する問題