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

Oracle Discussion :

conseil truncate table ?


Sujet :

Oracle

  1. #1
    Membre habitué
    Inscrit en
    Janvier 2004
    Messages
    532
    Détails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 532
    Points : 144
    Points
    144
    Par défaut conseil truncate table ?
    salut,

    Je viens de faire un truncate table sur une de mes tables et j'ai ce message d'erreur :
    Error starting at line 1 in command:
    truncate table Client
    Error report:
    SQL Error: ORA-02266: unique/primary keys in table referenced by enabled foreign keys
    QU'est ce que cela signifie ??

    Merci.

  2. #2
    Membre actif
    Inscrit en
    Novembre 2004
    Messages
    312
    Détails du profil
    Informations forums :
    Inscription : Novembre 2004
    Messages : 312
    Points : 202
    Points
    202
    Par défaut
    Je pense que cela signifie que tu as des contraintes d'intégrité sur ta table et que tu ne peux pas supprimer tes données comme cela.
    Tu dois supprimer les données des tables qui sont liées à ta table en question au préalable.

  3. #3
    Rédacteur

    Homme Profil pro
    Développeur et DBA Oracle
    Inscrit en
    Octobre 2006
    Messages
    878
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur et DBA Oracle

    Informations forums :
    Inscription : Octobre 2006
    Messages : 878
    Points : 1 197
    Points
    1 197
    Par défaut
    Salut,

    Il faut desactiver la contrainte pour pouvoir faire ton truncate .

    La clé primaire de la table client figure dans comme une clé étrangère dans une autre table donc il faut la désactiver.

    exemple :

    ALTER TABLE RMA_F_APPAREIL DISABLE CONSTRAINT CLIENT_FK;
    TRUNCATE TABLE CLIENT ;
    ALTER TABLE RMA_F_APPAREIL ENABLE CONSTRAINT CLIENT_FK;

  4. #4
    Membre du Club
    Inscrit en
    Février 2007
    Messages
    65
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 65
    Points : 49
    Points
    49
    Par défaut
    Je crois qu'il faut que t'utilise le paramétre cascade constraints dans ta requête, pour supprimer les clés parentes d'autres tables qui referencent les colonnes que t'effacent.

    A confirmer par un spécialiste (je débute ^^)

  5. #5
    Membre actif
    Inscrit en
    Novembre 2004
    Messages
    312
    Détails du profil
    Informations forums :
    Inscription : Novembre 2004
    Messages : 312
    Points : 202
    Points
    202
    Par défaut
    Vérifie les contraintes Foreign Key de ta table qui font référence à d'autres tables en tant que primary key.

  6. #6
    Membre habitué
    Profil pro
    Inscrit en
    Février 2007
    Messages
    227
    Détails du profil
    Informations personnelles :
    Localisation : Maroc

    Informations forums :
    Inscription : Février 2007
    Messages : 227
    Points : 161
    Points
    161
    Par défaut
    bonjour;
    Error starting at line 1 in command:
    truncate table Client
    Error report:
    SQL Error: ORA-02266: unique/primary keys in table referenced by enabled foreign keys
    est du a l'existence d'une clé etrangère faisant réference à une autre table; donc pour supprimer une ligne de la table client, tu dois supprimer les lignes correspondantes dans l'autre table; sinon si tu fais:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    ALTER TABLE CLIENT DISABLE CONSTRAINT CLIENT_FK; 
    TRUNCATE TABLE CLIENT ;
    ca va marcher, mais quand tu va activer la contrainte par:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ALTER TABLE CLIENT ENABLE CONSTRAINT CLIENT_FK;
    ca va donner un message d'erreur car il y aura des données dans l'autre table qui n'ont pas de correspondant dans la table client

  7. #7
    Membre habitué
    Inscrit en
    Janvier 2004
    Messages
    532
    Détails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 532
    Points : 144
    Points
    144
    Par défaut
    la clé primaire de ma table client est une clé etrangere dans la table vente,
    donc cela proviendrait de la ?
    le truc est que dans ma table vente , je n'ai aucune donnée, je pije pas

  8. #8
    Membre habitué
    Inscrit en
    Janvier 2004
    Messages
    532
    Détails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 532
    Points : 144
    Points
    144
    Par défaut
    il faut d'abord que je fasse un truncate table sur les tables sur lesquelles la clé primaire de ma table client est une clé etrangère ???
    ou desactiver les contraintes de clé etrangere sur les autres tables et les reactiver ensuite ?

Discussions similaires

  1. [MySQL] Problème avec TRUNCATE TABLE
    Par philippef dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 06/01/2006, 14h41
  2. truncate table
    Par illegalsene dans le forum Oracle
    Réponses: 6
    Dernier message: 27/10/2005, 16h29
  3. LOCK TABLES et TRUNCATE TABLE
    Par killy-kun dans le forum Requêtes
    Réponses: 2
    Dernier message: 29/08/2005, 15h52
  4. Conseil utilisation table temporaire
    Par celine31 dans le forum PostgreSQL
    Réponses: 3
    Dernier message: 23/05/2005, 15h23
  5. commande SQL truncate table xxx
    Par Yogy dans le forum SQL
    Réponses: 1
    Dernier message: 07/10/2004, 14h57

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