INSERT ステートメントまたは UPDATE ステートメントで CHECK 制約を無効にする方法 (Visual Database Tools)
テーブルに対してデータの追加、更新、または削除を行う際に、CHECK 制約を無効にすることができます。制約を無効にすると、次のトランザクションを実行できます。
テーブルで既存の行に適用されていた特定のビジネス ルールが現在では適用されない場合、INSERT ステートメントを使用してテーブルに新しいデータの行を追加できます (Microsoft SQL Server のみ)。たとえば、以前 5 桁の数値に限定していた郵便番号を新しいデータでは 9 桁に変更するものとします。その場合、古い 5 桁の郵便番号データを新しい 9 桁の郵便番号データと共存させることができます。
既存の行に適用されていた特定のビジネス ルールが現在では適用されない場合、UPDATE ステートメントを使用して既存の行を変更できます。たとえば、既存の 5 桁の郵便番号をすべて 9 桁の郵便番号に更新できます。
新しいデータが制約に違反することがわかっている場合、または制約がデータベース内の既存データにだけ適用される場合は、INSERT トランザクションまたは UPDATE トランザクションの実行中に CHECK 制約を無効にするオプションを選択します。
INSERT ステートメントまたは UPDATE ステートメントで CHECK 制約を無効にするには
オブジェクト エクスプローラで、制約が設定されたテーブルを右クリックし、[デザイン] をクリックします。
テーブル デザイナにテーブルが表示されます。
[テーブル デザイナ] メニューの [制約のチェック] をクリックします。
[制約のチェック] ダイアログ ボックスで、[選択された制約のチェック] ボックスの制約をクリックします。
グリッドで、[INSERTs および UPDATEs に適用] をクリックし、ドロップダウン リストの [いいえ] を選択します。
以降のデータ変更に制約を確実に適用するには、データを追加または変更した後、このオプションを [はい] に設定します。