IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Administration Oracle Discussion :

[8i] Contraintes d'intégrité référentielles


Sujet :

Administration Oracle

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Février 2005
    Messages
    283
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 283
    Points : 122
    Points
    122
    Par défaut [8i] Contraintes d'intégrité référentielles
    Bonjour,

    Je teste la migration d'une base de données et lors de l'import j'ai un message d'erreur m'indiquant que je ne peux créer une contrainte d'intégrité car elle existe déjà.

    J'ai vérifié sur la base de production devant être migrée, j'ai deux CIR faisant toutes les deux références à la même clef étrangère :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    TABLE_NAME                     CONSTRAINT_NAME                COLUMN_NAME                    TABLE_NAME                     COLUMN_NAME          
    ------------------------------ ------------------------------ ------------------------------ ------------------------------ ------------------
    SITE_CANDIDAT                  FK_SITE_CAN_C_CT03_CO_COMMENTA E03TC_ECHEC                    COMMENTAIRE                    ID_COMMENTAIRE       
    SITE_CANDIDAT                  FK_SITE_CAN_C_E03_COM_COMMENTA E03TC_ECHEC                    COMMENTAIRE                    ID_COMMENTAIRE

    J'ai vérifié sur la base de production les deux contraintes sont 'enable'.

    Ma question est de savoir si je suis dans un cas vraiment particulier, voire anormal, ou bien s'il est possible de rencontrer ce cas de figure.

    Merci pour votre aide,
    Alain

  2. #2
    Expert éminent
    Avatar de pachot
    Homme Profil pro
    Developer Advocate YugabyteDB
    Inscrit en
    Novembre 2007
    Messages
    1 821
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Suisse

    Informations professionnelles :
    Activité : Developer Advocate YugabyteDB
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2007
    Messages : 1 821
    Points : 6 443
    Points
    6 443
    Billets dans le blog
    1
    Par défaut
    Bonjour,

    Ce cas n'est pas possible, l'erreur suivante est renvoyée:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ORA-02275: such a referential constraint already exists in the table
    Quelle requête as-tu fait pour lister les contraintes ?

    Cordialement,
    Franck.
    Franck Pachot - Developer Advocate Yugabyte 🚀 Base de Données distribuée, open source, compatible PostgreSQL
    🗣 twitter: @FranckPachot - 📝 blog: blog.pachot.net - 🎧 podcast en français : https://anchor.fm/franckpachot

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Février 2005
    Messages
    283
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 283
    Points : 122
    Points
    122
    Par défaut
    Bonsoir,

    Merci d'avoir répondu aussi vite, j'utilise la requête suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
     
    select   c.OWNER,
             c.TABLE_NAME,
             c.CONSTRAINT_NAME,
             cc.COLUMN_NAME,
             r.TABLE_NAME,
             rc.COLUMN_NAME,
             cc.POSITION
    from     dba_constraints c, dba_constraints r, 
             dba_cons_columns cc, dba_cons_columns rc
    where    c.CONSTRAINT_TYPE = 'R'
    and      c.OWNER not in ('SYS','SYSTEM')
    and      c.R_OWNER = r.OWNER
    and      c.R_CONSTRAINT_NAME = r.CONSTRAINT_NAME
    and      c.CONSTRAINT_NAME = cc.CONSTRAINT_NAME
    and      c.OWNER = cc.OWNER
    and      r.CONSTRAINT_NAME = rc.CONSTRAINT_NAME
    and      r.OWNER = rc.OWNER
    and      cc.POSITION = rc.POSITION
    order by c.OWNER, c.TABLE_NAME, c.CONSTRAINT_NAME, cc.POSITION;
    J'ai lu quelques une de tes réponses sur d'autres posts, j'aurais quelques questions à te poser après que ce pb soit résolu

    Je te souhaite une bonne soirée,
    Alain

  4. #4
    Expert éminent
    Avatar de pachot
    Homme Profil pro
    Developer Advocate YugabyteDB
    Inscrit en
    Novembre 2007
    Messages
    1 821
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Suisse

    Informations professionnelles :
    Activité : Developer Advocate YugabyteDB
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2007
    Messages : 1 821
    Points : 6 443
    Points
    6 443
    Billets dans le blog
    1
    Par défaut
    Est-tu sûr que les 2 contraintes ne sont pas sur 2 owner différents ?
    Franck Pachot - Developer Advocate Yugabyte 🚀 Base de Données distribuée, open source, compatible PostgreSQL
    🗣 twitter: @FranckPachot - 📝 blog: blog.pachot.net - 🎧 podcast en français : https://anchor.fm/franckpachot

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Février 2005
    Messages
    283
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 283
    Points : 122
    Points
    122
    Par défaut
    Non les deux contraintes sont sur le même schéma :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    OWNER                          TABLE_NAME                     CONSTRAINT_NAME                COLUMN_NAME                    TABLE_NAME                     COLUMN_NAME                      POSITION
    ------------------------------ ------------------------------ ------------------------------ ------------------------------ ------------------------------ ------------------------------ ----------
     
    ADMIN                          SITE_CANDIDAT                  FK_SITE_CAN_C_CT03_CO_COMMENTA E03TC_ECHEC                    COMMENTAIRE                    ID_COMMENTAIRE                          1
     
    ADMIN                          SITE_CANDIDAT                  FK_SITE_CAN_C_E03_COM_COMMENTA E03TC_ECHEC                    COMMENTAIRE                    ID_COMMENTAIRE                          1
    Vraiment très curieux ..

Discussions similaires

  1. Problème de contrainte d'intégrité référentielle
    Par rillette87 dans le forum Requêtes
    Réponses: 1
    Dernier message: 11/05/2011, 16h11
  2. Contraintes d'intégrité référentielle
    Par Jenesépa dans le forum Langage SQL
    Réponses: 3
    Dernier message: 22/02/2011, 16h39
  3. Phpmyadmin et contraintes d'intégrité référentielle ?
    Par Jiraiya42 dans le forum Requêtes
    Réponses: 28
    Dernier message: 22/02/2008, 10h31
  4. Réponses: 10
    Dernier message: 24/09/2006, 14h08
  5. Réponses: 5
    Dernier message: 26/10/2005, 14h43

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo