Avec le résultat de cette requête, nous allons pouvoir désactiver toutes les FK référençant une table.
Rappel : On désactive une FK avec un ALTER TABLE "table_name" DISABLE CONSTRAINT "constraint_name";
SQL> SQL> SELECT 'ALTER TABLE "' 2 || r.table_name 3 || '" DISABLE CONSTRAINT "' 4 || r.constraint_name 5 || '";' 6 "CONSTRAINTS A DESACTIVER" 7 FROM all_constraints r 8 WHERE r.owner = 'SCOTT' 9 AND r.constraint_type = 'R' 10 AND r.r_constraint_name IN 11 (SELECT r1.constraint_name 12 FROM all_constraints r1 13 WHERE r1.table_name = 'ANALYSE' AND r1.owner = 'SCOTT'); CONSTRAINTS A DESACTIVER -------------------------------------------------------------------------------------- ALTER TABLE "PHYSIO" DISABLE CONSTRAINT "FK_PHYSIO_ANALYSE"; ALTER TABLE "LOT_E" DISABLE CONSTRAINT "FK_LOT_E_ANALYSE"; ALTER TABLE "LOT_A" DISABLE CONSTRAINT "FK_LOT_A_ANA"; ALTER TABLE "LIG_PREF" DISABLE CONSTRAINT "FK_LIG_PREF_ANANUM"; ALTER TABLE "DECH" DISABLE CONSTRAINT "FK_DECH_ANALYSE"; ALTER TABLE "T_PROV_D" DISABLE CONSTRAINT "PRV_ANA_NUM"; ALTER TABLE "T_PREF_EN_A" DISABLE CONSTRAINT "FK_PAT_ANA_NUM"; 7 rows selected. SQL> |
| Liens en rapport avec l'article et qui sont susceptibles de vous intéresser |