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 :

METADATA PRIMARY KEY


Sujet :

SQL Firebird

  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    735
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 735
    Points : 807
    Points
    807
    Par défaut METADATA PRIMARY KEY
    Bonjour,

    quelle est la requête magique pour avoir la clé primaire d'une table ?

    j'utilise cela :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT * FROM RDB$INDICES
    WHERE RDB$RELATION_NAME = 'TABLE_NAME'
    AND RDB$UNIQUE_FLAG=1
    AND RDB$FOREIGN_KEY IS NULL
    Mais il y a aussi les clés uniques qui sont renvoyés

  2. #2
    Expert éminent sénior
    Avatar de Cl@udius
    Homme Profil pro
    Développeur Web
    Inscrit en
    Février 2006
    Messages
    4 878
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 4 878
    Points : 10 008
    Points
    10 008
    Par défaut
    Salut

    Effectivement le critère RDB$UNIQUE_FLAG=1 n'est pas suffisant pour isoler la clé primaire.

    Comme ceci, comprenant le nom de la contrainte, le nom de la colonne ainsi que l'index associé:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    select
      RC.RDB$CONSTRAINT_NAME,
      IDX.RDB$FIELD_NAME,
      RC.RDB$INDEX_NAME
    from
      RDB$RELATION_CONSTRAINTS RC
      join RDB$INDEX_SEGMENTS IDX on (IDX.RDB$INDEX_NAME = RC.RDB$INDEX_NAME)
    where
      RC.RDB$CONSTRAINT_TYPE ='PRIMARY KEY' and
      RC.RDB$RELATION_NAME = 'TABLE_NAME'
    @+ Claudius

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

Discussions similaires

  1. [ODBC] Recherche du champ qui est Primary Key
    Par XtofRoland dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 07/02/2006, 11h43
  2. PRIMARY KEY - UNIQUE - INDEX
    Par Thierry8 dans le forum Requêtes
    Réponses: 4
    Dernier message: 16/12/2005, 23h28
  3. pb de primary key sur 2 colonnes
    Par new_wave dans le forum Designer
    Réponses: 14
    Dernier message: 25/11/2005, 11h05
  4. DROP PRIMARY KEY
    Par popopopo dans le forum Langage SQL
    Réponses: 2
    Dernier message: 04/08/2005, 11h11
  5. BDD, r-a-z index et indice primary key ?
    Par lord_paco dans le forum MS SQL Server
    Réponses: 9
    Dernier message: 11/07/2003, 10h24

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