INSERT ステートメントまたは UPDATE ステートメントに対して外部キー制約を無効にする方法Disable Foreign Key Constraints with INSERT and UPDATE Statements

適用対象:Applies to: はいSQL Server 2016 (13.x)SQL Server 2016 (13.x)yesSQL Server 2016 (13.x)SQL Server 2016 (13.x) 以降 はいAzure SQL データベースAzure SQL DatabaseYesAzure SQL データベースAzure SQL Database はいAzure SQL Managed InstanceAzure SQL Managed InstanceYesAzure SQL Managed InstanceAzure SQL Managed Instance はいAzure Synapse AnalyticsAzure Synapse AnalyticsyesAzure Synapse AnalyticsAzure Synapse Analytics はいParallel Data WarehouseParallel Data WarehouseyesParallel Data WarehouseParallel Data Warehouse適用対象:Applies to: はいSQL Server 2016 (13.x)SQL Server 2016 (13.x)yesSQL Server 2016 (13.x)SQL Server 2016 (13.x) and later はいAzure SQL データベースAzure SQL DatabaseYesAzure SQL データベースAzure SQL Database はいAzure SQL Managed InstanceAzure SQL Managed InstanceYesAzure SQL Managed InstanceAzure SQL Managed Instance はいAzure Synapse AnalyticsAzure Synapse AnalyticsyesAzure Synapse AnalyticsAzure Synapse Analytics はいParallel Data WarehouseParallel Data WarehouseyesParallel Data WarehouseParallel Data Warehouse

SQL Server 2019 (15.x)SQL Server 2019 (15.x) では、 SQL Server Management StudioSQL Server Management Studio または Transact-SQLTransact-SQLを使用して、INSERT トランザクションまたは UPDATE トランザクションの実行中に外部キー制約を無効にできます。You can disable a foreign key constraint during INSERT and UPDATE transactions in SQL Server 2019 (15.x)SQL Server 2019 (15.x) by using SQL Server Management StudioSQL Server Management Studio or Transact-SQLTransact-SQL. 新しいデータが既存の制約に違反しないことがわかっている場合、またはデータベース内の既存のデータのみに制約を適用する場合に、このオプションを使用します。Use this option if you know that new data will not violate the existing constraint or if the constraint applies only to the data already in the database.

このトピックの内容In This Topic

はじめにBefore You Begin

制限事項と制約事項Limitations and Restrictions

これらの制約を無効にすると、今後列に行われる挿入または更新は、制約条件に対して検証されません。After you disable these constraints, future inserts or updates to the column will not be validated against the constraint conditions.

セキュリティSecurity

PermissionsPermissions

テーブルに対する ALTER 権限が必要です。Requires ALTER permission on the table.

SQL Server Management Studio の使用Using SQL Server Management Studio

INSERT ステートメントまたは UPDATE ステートメントに対して外部キー制約を無効にするにはTo disable a foreign key constraint for INSERT and UPDATE statements

  1. オブジェクト エクスプローラー で、制約が含まれているテーブルを展開し、 [キー] フォルダーを展開します。In Object Explorer, expand the table with the constraint and then expand the Keys folder.

  2. 制約を右クリックし、 [変更] をクリックします。Right-click the constraint and select Modify.

  3. [テーブル デザイナー] の下のグリッドで、 [外部キーの制約を適用] をクリックし、ドロップダウン ボックスの一覧の [いいえ] をクリックします。In the grid under Table Designer, click Enforce Foreign Key Constraint and select No from the drop-down menu.

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

Transact-SQL の使用Using Transact-SQL

INSERT ステートメントまたは UPDATE ステートメントに対して外部キー制約を無効にするにはTo disable a foreign key constraint for INSERT and UPDATE statements

  1. オブジェクト エクスプローラー で、 データベース エンジンDatabase Engineのインスタンスに接続します。In Object Explorer, connect to an instance of データベース エンジンDatabase Engine.

  2. [標準] ツール バーの [新しいクエリ] をクリックします。On the Standard bar, click New Query.

  3. 次の例をコピーしてクエリ ウィンドウに貼り付け、 [実行] をクリックします。Copy and paste the following examples into the query window and click Execute.

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

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