制約は、ALTER TABLE ステートメントを使用して既存の表に追加することができます。
制約名は、ALTER TABLE ステートメント内に指定した他のどの制約とも同じにすることはできず、 その表内で固有のものでなければなりません (これには、 定義されたすべての参照整合性制約の名前も含まれます)。 ステートメントが正常実行される前に、既存のデータが新しい条件に対してチェックされます。
ALTER TABLE EMPLOYEE
ADD CONSTRAINT NEWID UNIQUE(EMPNO,HIREDATE)
この制約を変更するには、これをドロップしてから再作成することが必要な場合があります。 ALTER TABLE <name>
ADD CONSTRAINT <column_name>
PRIMARY KEY <column_name>
既存の制約を変更することはできません。主キーとして別の列または列セットを定義するには、最初に既存の主キー定義をドロップしてから再作成する必要があります。 ALTER TABLE EMPLOYEE
ADD CONSTRAINT REVENUE CHECK (SALARY + COMM > 25000)
この制約を変更するには、これをドロップしてから再作成することが必要な場合があります。 ALTER TABLE <name>
ADD CONSTRAINT <column_name>
FOREIGN KEY <column_name>
ON DELETE <action_type>
ON UPDATE <action_type>
ALTER TABLE PROJECT
ADD CONSTRAINT PROJECT_KEY
PRIMARY KEY (PROJNO)
ALTER TABLE EMP_ACT
ADD CONSTRAINT ACTIVITY_KEY
PRIMARY KEY (EMPNO, PROJNO, ACTNO)
ADD CONSTRAINT ACT_EMP_REF
FOREIGN KEY (EMPNO)
REFERENCES EMPLOYEE
ON DELETE RESTRICT
ADD CONSTRAINT ACT_PROJ_REF
FOREIGN KEY (PROJNO)
REFERENCES PROJECT
ON DELETE CASCADE
この制約を変更するには、これをドロップしてから再作成することが必要な場合があります。 ALTER TABLE <name> <constraint attributes> NOT ENFORCED
この制約を変更するには、これをドロップしてから再作成することが必要な場合があります。