既存のCHECK
がある場合 SQL Serverの制約ですが、変更する必要があります。削除して再作成する必要があります。 ALTER CONSTRAINT
はありません ステートメントまたは類似のもの。
したがって、既存の制約を「変更」するには:
-
ALTER TABLE
を使用して制約を削除しますDROP CONSTRAINT
を使用 。 -
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
に注意してください 制約は作成された順序で検証されるため、制約を削除/再作成すると、以前とは異なる順序で検証される可能性があります。これにより、他のエラーが以前にキャッチされていたときに、この制約の前にキャッチされる可能性があります。