次の方法で共有


方法 : INSERT ステートメントまたは UPDATE ステートメントで外部キー制約を無効にする

新しいデータが制約に違反することが判明している場合、または制約がデータベース内の既存データにだけ適用される場合は、INSERT トランザクションまたは UPDATE トランザクションの実行中に外部キー制約を無効にするオプションを選択します。

注意

SQL Server 2012 形式のデータベースのための新しいバージョンのテーブル デザイナーが表示されます。このトピックでは、SQL Server の以前の形式のデータベースで使用する旧バージョンのテーブル デザイナーについて説明します。

新しいバージョンでは、テーブル定義をグラフィカル インターフェイスから変更することも、スクリプト ペインで直接変更することもできます。グラフィカル インターフェイスを使用すると、スクリプト ペインでのテーブルの定義が自動的に更新されます。スクリプト ペインで SQL コードを適用するには、[更新] ボタンをクリックします。新しいバージョンの詳細については、「方法: テーブル デザイナーを使用してデータベース オブジェクトを作成する」を参照してください。

注意

次の手順で参照している Visual Studio ユーザー インターフェイス要素の一部は、お使いのコンピューターでは名前や場所が異なる場合があります。これらの要素は、使用している Visual Studio のエディションや独自の設定によって決まります。詳細については、「Visual Studio の設定」を参照してください。

INSERT ステートメントまたは UPDATE ステートメントに対して外部キー制約を無効にするには

  1. [サーバー エクスプローラー] で、制約の設定されているテーブルを選択し、[データ] メニューの [テーブル定義を開く] をクリックします。

    テーブルが [テーブル デザイナー] 内で開かれます。

  2. [テーブル デザイナー] メニューの [リレーションシップ] をクリックします。

  3. [外部キーのリレーションシップ] ダイアログ ボックスの [選択したリレーションシップ] ボックスの一覧で、リレーションシップをクリックします。

  4. グリッドの [DeleteRule の設定] または [UpdateRule の設定] をクリックして、プロパティの左側にあるドロップダウン リスト ボックスから操作を選択します。

    • [動作なし] 削除操作が許可されていないことをユーザーに通知するエラー メッセージが出力され、DELETE がロールバックされます。

    • [重ねて表示] 外部キー リレーションシップに関係するデータを含む行がすべて削除されます。

    • [Null に設定] テーブルのすべての外部キー列が null 値を使用できる場合、null 値が設定されます。 SQL Server 2005 だけに適用されます。

    • [既定値の設定] テーブルのすべての外部キー列に既定値が定義されている場合、既定値が設定されます。 SQL Server 2005 だけに適用されます。

注意

トリガーを使用してデータベース操作を行う場合は、トリガーを実行するために外部キー制約を無効にする必要があります。

参照

関連項目

[外部キーのリレーションシップ] ダイアログ ボックス

その他の技術情報

制約の使用

リレーションシップの使用