Delete Nameless PRIMARY KEY statement:
SELECT * from WHERE = ' Table name ' ; ALTER TABLE DROP CONSTRAINT primary Key name;
The above statement needs to be manual, how to do it automatically? See below:
CREATE OR REPLACE FUNCTIONDel_table_constraint (tb_nameVARCHAR2, Field_nameVARCHAR2) RETURN Number isCon_count Number; Con_nameVARCHAR2( +);BEGINCon_name:= "'; Con_count:= 0; SELECT COUNT(DISTINCTconstraint_name) intoCon_count fromUser_cons_columnsWHEREtable_name= UPPER(Tb_name) andcolumn_name= UPPER(Field_name) andROWNUM= 1; IFCon_count> 0 Then SELECT DISTINCTconstraint_name intoCon_name fromUser_cons_columnsWHEREtable_name= UPPER(Tb_name) andcolumn_name= UPPER(Field_name) andROWNUM= 1; EXECUTEIMMEDIATE'ALTER TABLE' ||Tb_name|| 'drop Constraint' ||Con_name; END IF; RETURN 0;END;
This execution
DECLARE a number; BEGIN A:= del_table_constraint (' table name ' field name ' ); END ; /
Oracle Delete Table PRIMARY KEY statement