DROP ADD N DROP ADD N DROP ADD N DROP ADD N DROP ADD N N N N PARSE SQL NAME CLAUSE_TYPE DROP_CONSTRAINT CONSTRAINT_TYPE ALTER TABLE DROP CONSTRAINT ALTER TABLE DROP PRIMARY KEY ALTER TABLE DROP ALTER TABLE DROP CONSTRAINT DECLARE cname VARCHAR2(30); BEGIN cname := dbms_metadata.get_check_constraint_name('TABLE',' ',' ',' ',FALSE); ',TRUE); execute immediate 'ALTER TABLE DROP CONSTRAINT ' || cname; END; DECLARE h NUMBER; cname VARCHAR2(30); BEGIN h := dbms_metadata.open_get_fk_constraint_name('TABLE',' ',' ',' ',' '); dbms_metadata.set_fk_constraint_col_pair(h,' ',' '); cname := dbms_metadata.get_fk_constraint_name(h); execute immediate 'ALTER TABLE DROP CONSTRAINT ' || cname; END; -- ERROR: Unable to drop constraint of type 0 N PARSE SQL NAME CLAUSE_TYPE ADD_CONSTRAINT CONSTRAINT_TYPE ALTER TABLE ADD CONSTRAINT ADD N PARSE SQL NAME CLAUSE_TYPE DROP_CREATE_CONSTRAINT DISABLE_CONSTRAINT ENABLE_CONSTRAINT MODIFY_CONSTRAINT CLAUSE_TYPE CONSTRAINT_TYPE ALTER TABLE ADD CONSTRAINT DEFERRABLE ADD ALTER TABLE MODIFY CONSTRAINT MODIFY CANNOT MODIFY UNNAMED CONSTRAINT OF TYPE ALTER TABLE RENAME CONSTRAINT TO ALTER TABLE RENAME CONSTRAINT TO FALSE PRIMARY KEY ( ) FOREIGN KEY ( ) REFERENCES " "." " ( ) ON DELETE SET NULL UNIQUE ( ) CHECK ( ) SCOPE FOR ( ) IS INITIALLY DEFERRED RELY USING INDEX INITIALLY DEFERRED RELY NORELY USING INDEX ADD GLOBAL PARTITION BY HASH ( ) ( ) GLOBAL PARTITION BY RANGE ( ) ( ) LOCAL ( ) , PARTITION " " VALUES LESS THAN ( ) ( , SUBPARTITION " " TABLESPACE ) TABLESPACE " "