Quantcast
Jeudi 2 juin 2011 4 02 /06 /Juin /2011 23:36

 

Désactiver les clés étrangères FK référençant une table.

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";

Script désactivant les FK référençant ici la table ANALYSE.

 
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
Par Daniel Roesch - Publié dans : TABLES
Ecrire un commentaire - Voir les 0 commentaires
Retour à l'accueil

Oracle Sql et administration

Contact - C.G.U. - Rémunération en droits d'auteur - Signaler un abus - Articles les plus commentés