Oracle – Supprimer une contrainte et ces index
Bonjour à tous,
récemment au travail j’ai rencontré des problèmes dû au fait qu’en supprimant une contrainte sur une table oracle, les index n’était pas correctement supprimé.
Voici un exemple de requete qui supprime une constrainte et ces index :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
alter table ACT_RE_PROCDEF drop constraint ACT_UNIQ_PROCDEF; DECLARE COUNT_INDEXES INTEGER; BEGIN SELECT COUNT(*) INTO COUNT_INDEXES FROM USER_INDEXES WHERE INDEX_NAME = 'ACT_UNIQ_PROCDEF'; IF COUNT_INDEXES > 0 THEN EXECUTE IMMEDIATE 'DROP INDEX ACT_UNIQ_PROCDEF'; END IF; END; alter table ACT_RE_PROCDEF add constraint ACT_UNIQ_PROCDEF unique (KEY_,VERSION_, TENANT_ID_); |