私は2つのテーブルを持っています。表1には、別の表の有効な主キーを表す外部キーがあります(表2)。今問題は、この外部キーが時にはnullになる可能性があることです(それはそうであると考えられます)。外部キーがnullでない場合にのみ、制約をチェックする方法はありますか?外部キーがNULLでない場合にのみ、2つのテーブル間で制約を定義するにはどうすればよいですか?
PD>私は現在C#でプログラミングしており、SQL Server Management Studioを使用しています。
私は2つのテーブルを持っています。表1には、別の表の有効な主キーを表す外部キーがあります(表2)。今問題は、この外部キーが時にはnullになる可能性があることです(それはそうであると考えられます)。外部キーがnullでない場合にのみ、制約をチェックする方法はありますか?外部キーがNULLでない場合にのみ、2つのテーブル間で制約を定義するにはどうすればよいですか?
PD>私は現在C#でプログラミングしており、SQL Server Management Studioを使用しています。
テーブルに追加の「CHECK」制約を追加すると、値を関数に渡して値をチェックできるようになります。ちょうど思考...
は、SQL Serverで例 linkのためにここを見てみましょう、FK制約を使用すると、説明したとおりに動作する - 彼らは唯一の親テーブルに対してNOT NULL値を確認します。外部キーを使用するだけです。
外部キーがNULLの場合にエラーを発生させるTable1を挿入および更新するためのストアドプロシージャを作成します。 –
私の経験では、通常、外部キーはヌルにすることができます。あなたはこれが事実でないと分かっていますか?予期しないエラーメッセージや動作が表示されますか? – phoog
制約のために挿入を適用できないというエラーが表示されます。 – user990692