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 Firebird Discussion :

Suppression de clé primaire


Sujet :

SQL Firebird

  1. #1
    Membre à l'essai
    Inscrit en
    Septembre 2002
    Messages
    22
    Détails du profil
    Informations forums :
    Inscription : Septembre 2002
    Messages : 22
    Points : 19
    Points
    19
    Par défaut Suppression de clé primaire
    Bonjour ,
    mon problème est que je n'arrive pas à supprimer la clé primaire
    d'une de mes tables. J'utilise la commande SQL suivante:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    alter table phonogrammes drop constraint RDB$PRIMARY84;
    Merci de m'aider

  2. #2
    Membre à l'essai
    Inscrit en
    Septembre 2002
    Messages
    22
    Détails du profil
    Informations forums :
    Inscription : Septembre 2002
    Messages : 22
    Points : 19
    Points
    19
    Par défaut
    Je pense que je me suis trompé de commande, c'est plutôt
    celle-ci à mon avis:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    drop index RDB$PRIMARY84;
    Mais j'ai toujours un message d'erreur:
    ERASE RDB$INDICE failed.
    action cancelled by trigger(1) to preserve data integrity
    Je ne vois pas pourquoi il me parle de trigger alors que je n'en ai pas
    sur cette table?

    A l'aide!!!

  3. #3
    Membre expert
    Avatar de Barbibulle
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    2 048
    Détails du profil
    Informations personnelles :
    Âge : 54
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 2 048
    Points : 3 342
    Points
    3 342
    Par défaut
    Et bien l'ordre est correct donc si ca ne marche pas il faut lire le message d'erreur...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ALTER TABLE MATABLE DROP CONSTRAINT NOMDECLEPRIMAIRE

  4. #4
    Membre expert
    Avatar de Barbibulle
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    2 048
    Détails du profil
    Informations personnelles :
    Âge : 54
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 2 048
    Points : 3 342
    Points
    3 342
    Par défaut
    Vous avez d'autres tables qui font références à cette clé primaire.
    Je pense que vous avez créé des clés étrangères (Foreign key). Et donc il faut avant tout supprimer les contraintes référentieles avant de pouvoir supprimer la clé primaire.

  5. #5
    Membre à l'essai
    Inscrit en
    Septembre 2002
    Messages
    22
    Détails du profil
    Informations forums :
    Inscription : Septembre 2002
    Messages : 22
    Points : 19
    Points
    19
    Par défaut
    J'ai enfin réussi.
    Après avoir supprimé toutes les Foreign Key de la table, j'ai executé
    la commande SQL suivante
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    alter table phonogrammes drop constraint RDB$PRIMARY84;
    Mais IBCOnsole me mettait le message suivant :
    CONSTRAINT RDB$PRIMARY84 does not exist
    En fait j'ai trouvé le nom de ma clé primaire de la forme INTEG_n, dans la table system
    RDB$RELATION_CONTRAINTS . Et la cela a
    fonctionné.

    Merci Barbibulle pour votre aide.

  6. #6
    Membre expert
    Avatar de Barbibulle
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    2 048
    Détails du profil
    Informations personnelles :
    Âge : 54
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 2 048
    Points : 3 342
    Points
    3 342
    Par défaut
    Citation Envoyé par nico27
    En fait j'ai trouvé le nom de ma clé primaire de la forme INTEG_n.
    Oui en général (si on ne présice pas un nom de contrainte), mais ce n'est pas obligatoire car on peux lui donner le nom que l'on veux.

    Par exemple PK_MA_TABLE dans l'exemple suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    alter table MA_TABLE
    add constraint PK_MA_TABLE
    primary key (NOM_COLONNE)

  7. #7
    Membre du Club
    Inscrit en
    Avril 2008
    Messages
    57
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Avril 2008
    Messages : 57
    Points : 40
    Points
    40
    Par défaut
    Bonjour;
    je sais que c'est une discussion de 2004, mais ca n'empeche pas de continue pour mieux comprendre.
    y'as pas de requete pour supprimer une cle primaire et toutes les cles etrangere dans toutes les tables ou elle referencée?

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 27/09/2010, 10h56
  2. Suppression de clé primaire en VBA
    Par Herman dans le forum VBA Access
    Réponses: 3
    Dernier message: 28/06/2007, 14h32
  3. suppression multiple, clé primaire multiple
    Par javaweb44 dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 08/12/2006, 17h51
  4. Décalage de clé primaire suite à suppression
    Par Marc F dans le forum Langage SQL
    Réponses: 3
    Dernier message: 24/07/2006, 17h48
  5. Suppression de clef primaire
    Par castaka dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 13/07/2005, 10h41

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