Dropping Existing Constraints from a Column
Go Up to Using ALTER TABLE
You must drop constraints from a column in the correct sequence. See the following CREATE TABLE example. Because there is a foreign key in the PROJECT table that references the primary key (EMP_NO) of the EMPLOYEE table, you must first drop the foreign key reference before you can drop the PRIMARY KEY constraint in the EMPLOYEE table.
CREATE TABLE PROJECT (PROJ_ID PROJNO NOT NULL, PROJ_NAME VARCHAR(20) NOT NULL UNIQUE, PROJ_DESC BLOB(800,1), TEAM_LEADER EMPNO, PRODUCT PRODTYPE, PRIMARY KEY (PROJ_ID), CONSTRAINT TEAM_CONSTRT FOREIGN KEY (TEAM_LEADER) REFERENCES EMPLOYEE (EMP_NO));
The proper sequence is:
ALTER TABLE PROJECT DROP CONSTRAINT TEAM_CONSTRT; ALTER TABLE EMPLOYEE DROP CONSTRAINT EMP_NO_CONSTRT; ALTER TABLE EMPLOYEE DROP EMP_NO;
- Note: Constraint names are in the system table,
RDB$RELATION_CONSTRAINTS.
In addition, you cannot delete a column if it is referenced by another column’s CHECK constraint. To drop the column, first drop the CHECK constraint, then drop the column.