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