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

Langage SQL Discussion :

contrainte intégrité référencielle


Sujet :

Langage SQL

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    84
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2006
    Messages : 84
    Points : 38
    Points
    38
    Par défaut contrainte intégrité référencielle
    bonjour,

    voilà j'ai un souci pour supprimer un enregistrement d'une table ET supprimer par la mm occasion tout les enregistrements des autres tables liés à cet enregistrement. j'aurais voulu savoir comment procéder?

    désolé je sais pas si ma question est claire?

  2. #2
    Membre chevronné

    Profil pro
    Inscrit en
    Avril 2005
    Messages
    1 673
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 1 673
    Points : 1 775
    Points
    1 775
    Par défaut
    S'il existe des contraintes d'intégrités référencielles alors il faut commencer par supprimer les enregistrements liés avant de supprimer les enregistrements sources.

    Ex :
    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
    21
    CREATE TABLE ETUDIANT
    (
      ETUDIANT_ID VARCHAR2(10) PRIMARY KEY,
      NOM VARCHAR2(30)
    )
    /
    CREATE TABLE VOITURE
    (
      VOITURE_ID  VARCHAR2(10) PRIMARY KEY,
      PLAQUE VARCHAR2(10)
    )
    /
    CREATE TABLE POSSEDE
    (
      ETUDIANT_ID VARCHAR2(10),
      VOITURE_ID  VARCHAR2(10),
      DATE_ACHAT  DATE,
      CONSTRAINT FCK_1 FOREIGN KEY (ETUDIANT_ID) REFERENCES ETUDIANT (ETUDIANT_ID),
      CONSTRAINT FCK_2 FOREIGN KEY (VOITURE_ID) REFERENCES VOITURE (VOITURE_ID)
    )
    /
    Une fois ces tables créées et des lignes insérées, essayons sous sqlplus (spécifique oracle) de supprimer toutes les voitures :
    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
     
     
    8i CYRIL> delete from voiture;
    delete from voiture
    *
    ERROR à la ligne 1 :
    ORA-02292: integrity constraint (CYRIL.FCK_2) violated - child record found
     
    8i CYRIL> delete from possede;
    1 ligne supprimée.
    8i CYRIL> delete from voiture;
    1 ligne supprimée.
    8i CYRIL> delete from etudiant;
    1 ligne supprimée.
    8i CYRIL>
    Modérateur des forums Oracle et Langage SQL
    Forum SQL : je n'interviens PAS plus de 4 fois dans une discussion car si c'est nécessaire cela prouve généralement que vous n'avez pas respecté : les règles du forum

  3. #3
    Expert éminent
    Avatar de qi130
    Homme Profil pro
    Expert Processus IT
    Inscrit en
    Mars 2003
    Messages
    3 903
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France

    Informations professionnelles :
    Activité : Expert Processus IT
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2003
    Messages : 3 903
    Points : 6 027
    Points
    6 027
    Par défaut
    Tu peux aussi déclarer la contrainte avec ON DELETE CASCADE...
    "Il n'y a pas de bonnes réponses à une mauvaise question." (M. Godet)
    -----------------------
    Pensez à cloturer votre sujet - Aucune réponse aux sollicitations techniques par MP
    Usus magister est optimus

Discussions similaires

  1. contraintes intégrité référentielle
    Par awalter1 dans le forum SQL
    Réponses: 2
    Dernier message: 19/03/2010, 16h08
  2. Réponses: 2
    Dernier message: 03/11/2009, 16h28
  3. Intégrité référencielle et INSERT
    Par Cyrille36 dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 15/10/2008, 13h30
  4. Réponses: 1
    Dernier message: 10/04/2008, 11h44
  5. ORACLE : contraintes intégrité
    Par djbenvik dans le forum Oracle
    Réponses: 1
    Dernier message: 17/03/2006, 14h08

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