方法 : INSERT ステートメントまたは UPDATE ステートメントで CHECK 制約を無効にする
テーブルに対してデータの追加、更新、または削除を行うとき、CHECK 制約を無効にできます。 制約を無効にすると、次のトランザクションを実行できます。
テーブルで既存の行に適用されていた特定のビジネス ルールが現在では適用されない場合、INSERT ステートメントを使用してテーブルに新しいデータの行を追加できます (Microsoft SQL Server のみ)。 たとえば、以前 5 桁の数値に限定していた郵便番号を新しいデータでは 9 桁に変更するものとします。 その場合、古い 5 桁の郵便番号データを新しい 9 桁の郵便番号データと共存させることができます。
既存の行に適用されていた特定のビジネス ルールが現在では適用されない場合、UPDATE ステートメントを使用して既存の行を変更できます。 たとえば、既存の 5 桁の郵便番号をすべて 9 桁の郵便番号に更新できます。
新しいデータが制約に違反することがわかっている場合、または制約がデータベース内の既存データにだけ適用される場合は、INSERT トランザクションまたは UPDATE トランザクションの実行中に CHECK 制約を無効にするオプションを選択します。
注意
CHECK 制約に対して異なる機能を持つデータベースもあります。 データベースで処理される CHECK 制約の詳細については、データベースのマニュアルを参照してください。
注意
実際に画面に表示されるダイアログ ボックスとメニュー コマンドは、アクティブな設定またはエディションによっては、ヘルプの説明と異なる場合があります。 設定を変更するには、[ツール] メニューの [設定のインポートとエクスポート] をクリックします。 詳細については、「設定の操作」を参照してください。
INSERT ステートメントまたは UPDATE ステートメントで CHECK 制約を無効にするには
[サーバー エクスプローラー] で、制約の設定されているテーブルを選択し、[データ] メニューの [テーブル定義を開く] をクリックします。
テーブルが [テーブル デザイナー] 内で開かれます。
[テーブル デザイナー] メニューの [制約のチェック] をクリックします。
[制約のチェック] ダイアログ ボックスで、[選択された 制約のチェック] ボックスの制約をクリックします。
グリッドで、[INSERTs および UPDATEs に適用] をクリックし、ドロップダウン リストの [いいえ] を選択します。
データを追加または変更した後、このオプションを [はい] に設定して、以降のデータ変更に制約を確実に適用できます。