sql >> データベース >  >> RDS >> Sqlserver

T-SQLを使用してSQLServerのCHECK制約を変更する

    既存のCHECKがある場合 SQL Serverの制約ですが、変更する必要があります。削除して再作成する必要があります。 ALTER CONSTRAINTはありません ステートメントまたは類似のもの。

    したがって、既存の制約を「変更」するには:

    1. ALTER TABLEを使用して制約を削除します DROP CONSTRAINTを使用 。
    2. ALTER TABLEを使用して新しい制約を作成します ADD CONSTRAINTを使用 。

    CHECKを削除して再作成する例を次に示します。 制約。

    ALTER TABLE ConstraintTest 
      DROP CONSTRAINT chkTeamSize;
    
    ALTER TABLE ConstraintTest
      ADD CONSTRAINT chkTeamSize 
      CHECK (TeamSize >= 5 AND TeamSize <= 20)
      ;
    

    前述のように、変更することはできません。削除して、新しい定義で作成する必要があります。

    この場合、制約は chkTeamSize と呼ばれます。 単にドロップして、新しい定義で作成します。

    注文に関する注意

    CHECKに注意してください 制約は作成された順序で検証されるため、制約を削除/再作成すると、以前とは異なる順序で検証される可能性があります。これにより、他のエラーが以前にキャッチされていたときに、この制約の前にキャッチされる可能性があります。


    1. Oracleテーブルまたはビューの名前を変更します

    2. MySQLテーブルを2列で並べ替える

    3. SQL Serverでポリモーフィックアソシエーションを実装するための最良の方法は何ですか?

    4. ASP.NETでC#を使用してデータベースからバイナリイメージを取得する方法