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

SQL Oracle Discussion :

Foreign Key non validée


Sujet :

SQL Oracle

  1. #1
    Rédacteur/Modérateur

    Avatar de Antoun
    Homme Profil pro
    Architecte décisionnel
    Inscrit en
    Octobre 2006
    Messages
    6 284
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Architecte décisionnel
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2006
    Messages : 6 284
    Points : 11 737
    Points
    11 737
    Par défaut Foreign Key non validée
    Bonjour,

    Il m'arrive un problème bête : j'ai désactivé une contrainte de FOREIGN KEY (une toute bête, NOT DEFERRABLE et avec une DELETE RULE = NO ACTION) sans m'apercevoir qu'il y avait plein de lignes qui ne vérifient pas la contrainte (je suppose que ça correspond au statut NOT VALIDATED de ladite contrainte).

    J'aurais donc une question existentielle et une question pratique :
    • comment c'est possible d'avoir des lignes invalides alors que la contrainte était activée ?
    • comment je fais maintenant pour la réactiver sans corriger les lignes ?


    Merci d'avance pour toute piste !

  2. #2
    Membre émérite
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Avril 2013
    Messages
    1 998
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Avril 2013
    Messages : 1 998
    Points : 2 501
    Points
    2 501
    Par défaut
    "comment c'est possible d'avoir des lignes invalides alors que la contrainte était activée"
    Es-tu sur que la contrainte était bien activée lorsque les donnés ont été insérées? Il est possible sous Oracle d'insérer des données puis de créer une contrainte d'intégrité valable UNIQUEMENT pour les nouvelles données insérées.

    https://docs.oracle.com/database/121...htm#SQLRF52180 :
    "ENABLE VALIDATE specifies that all old and new data also complies with the constraint. An enabled validated constraint guarantees that all data is and will continue to be valid.

    ENABLE NOVALIDATE ensures that all new DML operations on the constrained data comply with the constraint. This clause does not ensure that existing data in the table complies with the constraint."



    "comment je fais maintenant pour la réactiver sans corriger les lignes ?"
    Essaye un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ALTER TABLE ADD CONSTRAINT ... ENABLE NOVALIDATE;

  3. #3
    Rédacteur/Modérateur

    Avatar de Antoun
    Homme Profil pro
    Architecte décisionnel
    Inscrit en
    Octobre 2006
    Messages
    6 284
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Architecte décisionnel
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2006
    Messages : 6 284
    Points : 11 737
    Points
    11 737
    Par défaut
    C'est parfait, merci beaucoup !

  4. #4
    Membre émérite
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Avril 2013
    Messages
    1 998
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Avril 2013
    Messages : 1 998
    Points : 2 501
    Points
    2 501
    Par défaut
    Content d'avoir pu aider

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Indexer toutes les Foreign Key non-indexée
    Par TariC dans le forum Administration
    Réponses: 5
    Dernier message: 17/02/2018, 21h17
  2. [2016] Foreign key non respectée
    Par Batou69 dans le forum Développement
    Réponses: 7
    Dernier message: 15/02/2017, 13h11
  3. foreign key non indexé
    Par olivanto dans le forum Oracle
    Réponses: 10
    Dernier message: 21/03/2007, 15h20
  4. Réponses: 7
    Dernier message: 21/01/2007, 12h12
  5. Liste des foreigns key non indexés
    Par soazig dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 10/05/2006, 17h50

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