Share via


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

SQL Server 2012 では、SQL Server Management Studio または Transact-SQL を使用して、INSERT トランザクションまたは UPDATE トランザクションの実行中に外部キー制約を無効にできます。 新しいデータが既存の制約に違反することがわかっている場合、またはデータベース内の既存のデータのみに制約を適用する場合に、このオプションを使用します。

このトピックの内容

  • 作業を開始する準備:

    制限事項と制約事項

    セキュリティ

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

    SQL Server Management Studio

    Transact-SQL

作業を開始する準備

制限事項と制約事項

これらの制約を無効にすると、今後列に行われる挿入または更新は、制約条件に対して検証されません。

セキュリティ

権限

テーブルに対する ALTER 権限が必要です。

[トップに戻る] リンクで使用される矢印アイコン[Top]

SQL Server Management Studio の使用

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

  1. オブジェクト エクスプローラーで、制約が含まれているテーブルを展開し、[キー] フォルダーを展開します。

  2. 制約を右クリックし、[変更] をクリックします。

  3. [テーブル デザイナー] の下のグリッドで、[外部キーの制約を適用] をクリックし、ドロップダウン ボックスの一覧の [いいえ] をクリックします。

  4. [閉じる] をクリックします。

[トップに戻る] リンクで使用される矢印アイコン[Top]

Transact-SQL の使用

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

  1. オブジェクト エクスプローラーで、データベース エンジンのインスタンスに接続します。

  2. [標準] ツール バーの [新しいクエリ] をクリックします。

  3. 次の例をコピーしてクエリ ウィンドウに貼り付け、[実行] をクリックします。

    USE AdventureWorks2012;
    GO
    ALTER TABLE Purchasing.PurchaseOrderHeader
    NOCHECK CONSTRAINT FK_PurchaseOrderHeader_Employee_EmployeeID;
    GO
    

詳細については、「ALTER TABLE (Transact-SQL)」を参照してください。

[トップに戻る] リンクで使用される矢印アイコン[Top]