INSERT ステートメントまたは UPDATE ステートメントによる CHECK 制約の無効化
SQL Server 2012 では、SQL Server Management Studio または Transact-SQL を使用して INSERT および UPDATE トランザクションの CHECK 制約を無効にできます。 CHECK 制約を無効にすると、今後列に行われる挿入または更新は、制約条件に対して検証されません。 新しいデータが既存の制約に違反することがわかっている場合、またはデータベース内の既存のデータのみに制約を適用する場合に、このオプションを使用します。
このトピックの内容
作業を開始する準備:
セキュリティ
INSERT ステートメントおよび UPDATE ステートメントの実行中に CHECK 制約を無効にする方法:
SQL Server Management Studio
Transact-SQL
作業を開始する準備
セキュリティ
権限
テーブルに対する ALTER 権限が必要です。
[Top]
SQL Server Management Studio の使用
INSERT ステートメントおよび UPDATE ステートメントの実行中に CHECK 制約を無効にするには
オブジェクト エクスプローラーで、制約が設定されているテーブルを展開し、[制約] フォルダーを展開します。
制約を右クリックし、[変更] をクリックします。
テーブル デザイナーの下にあるグリッドで、[INSERT および UPDATE に適用] をクリックし、ドロップダウン メニューの [いいえ] をクリックします。
[閉じる] をクリックします。
[Top]
Transact-SQL の使用
INSERT ステートメントおよび UPDATE ステートメントの実行中に CHECK 制約を無効にするには
オブジェクト エクスプローラーで、データベース エンジンのインスタンスに接続します。
[標準] ツール バーの [新しいクエリ] をクリックします。
次の例をコピーしてクエリ ウィンドウに貼り付け、[実行] をクリックします。
USE AdventureWorks2012; GO ALTER TABLE Purchasing.PurchaseOrderHeader NOCHECK CONSTRAINT CK_PurchaseOrderHeader_Freight; GO
詳細については、「ALTER TABLE (Transact-SQL)」を参照してください。
[Top]