Dimanche 5 juin 2011 7 05 /06 /Juin /2011 12:52

 

Voir, désactiver les Check Constraints d'une table.

Une Contrainte d'intégrité CHECK nécessite et impose une condition simple ou complexe pour chaque ligne de la table.

La condition d'une contrainte CHECK a les limitations suivantes:
• doit être une expression booléenne qui peut être évalué selon les valeurs de la ligne insérée ou mise à jour.
• ne peut pas contenir des sous-requêtes.
• ne peut pas inclure SYSDATE, UID, USER, ou USERENV.

Avec le résultat de cette requête, nous allons pouvoir désactiver toutes les une Contrainte d'intégrité CHECK d'une table.

Rappel : On désactive une contrainte avec un ALTER TABLE "table_name" DISABLE CONSTRAINT "constraint_name";

Script listant les Contraintes d'intégrités CHECK ici sur la table ANALYSE.

 
SQL>
SQL> SELECT   TABLE_NAME,
  2           CONSTRAINT_NAME,
  3           STATUS,
  4           CONSTRAINT_TYPE
  5    FROM   ALL_CONSTRAINTS
  6   WHERE       CONSTRAINT_TYPE = 'C'
  7           AND OWNER = UPPER ('SCOTT')
  8           AND TABLE_NAME = UPPER ('ANALYSE')
  9           AND STATUS = 'ENABLED';

TABLE_NAME                     CONSTRAINT_NAME                STATUS   C
------------------------------ ------------------------------ -------- -
ANALYSE                        SYS_C0013527                   ENABLED  C
ANALYSE                        CHECK_A_PRE                    ENABLED  C
ANALYSE                        CHECK_VER_PRE                  ENABLED  C
ANALYSE                        CHECK_ANA_E_PR                 ENABLED  C
ANALYSE                        CHECK_ANA_VAL_REC              ENABLED  C

10 rows selected.

SQL>

 

Script permettant de désactiver  les Contraintes d'intégrités CHECK ici sur la table ANALYSE.

 
SQL>
SQL> SELECT      'ALTER TABLE "'
  2           || table_name
  3           || '" DISABLE CONSTRAINT "'
  4           || constraint_name
  5           || '";' "CHECK CONSTRAINTS A DESACTIVER"
  6    FROM   all_constraints a
  7   WHERE       constraint_type = 'C'
  8           AND owner = UPPER ('SCOTT')
  9           AND table_name = UPPER ('ANALYSE')
 10           AND status = 'ENABLED';

CHECK CONSTRAINTS A DESACTIVER
--------------------------------------------------------------------
ALTER TABLE "ANALYSE" DISABLE CONSTRAINT "SYS_C0013527";
ALTER TABLE "ANALYSE" DISABLE CONSTRAINT "CHECK_A_PRE";
ALTER TABLE "ANALYSE" DISABLE CONSTRAINT "CHECK_VER_PRE";
ALTER TABLE "ANALYSE" DISABLE CONSTRAINT "CHECK_ANA_E_PR";
ALTER TABLE "ANALYSE" DISABLE CONSTRAINT "CHECK_ANA_VAL_REC";

10 rows selected.

SQL>

 

Liens en rapport avec l'article et qui sont susceptibles de vous intéresser
• Script désactivation clés étrangères (FK) référençant une table
Par Daniel Roesch - Publié dans : TABLES - INDEX
Ecrire un commentaire - Voir les 0 commentaires
Retour à l'accueil

Rechercher Articles Oracle SQL sur ce Site.

Loading

À lire aussi…

Download PDF Oracle

Rechercher sur le site

Oracle 10G - DBA -

Syndication

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