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 :

comment obtenir la liste des champs d'une table


Sujet :

SQL Firebird

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    287
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 287
    Points : 91
    Points
    91
    Par défaut comment obtenir la liste des champs d'une table
    Bonjour,

    je cherche une requete pour obtenir la liste des champs d'une table ainsi que leur dimension

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    287
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 287
    Points : 91
    Points
    91
    Par défaut
    J'ai trouve

    select T1.rdb$field_name fieldname, T2.rdb$field_name typefield, T2.rdb$field_length
    from rdb$relation_fields T1
    inner join rdb$fields T2 ON T1.rdb$field_source=T2.rdb$field_name
    where rdb$relation_name='RISK'

  3. #3
    dug
    dug est déconnecté
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    151
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 151
    Points : 84
    Points
    84
    Par défaut
    je déterre un vieux post qui m'a servit.

    en partant de là, voilà le code pour récupèrer pour les champs d'une table, en les concaténants... en clair:
    en clair, voilà la chaine de retour
    'name_field1 || name_field2 || name_field3' etc pour tous les champs de la table.



    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    SELECT rdb$set_context('USER_TRANSACTION', 'field#', NULL) FROM RDB$DATABASE;
     
    SELECT rdb$get_context('USER_TRANSACTION', 'field#'), 
        rdb$set_context('USER_TRANSACTION', 'field#', 
            IIF(rdb$get_context('USER_TRANSACTION', 'field#') IS NULL, trim(t1.rdb$field_name), rdb$get_context('USER_TRANSACTION', 'field#') ||' || '|| trim(t1.rdb$field_name) ) )
    FROM rdb$relation_fields t1
        INNER JOIN rdb$fields t2 ON t1.rdb$field_source = t2.rdb$field_name
    WHERE rdb$relation_name = 'RISK';
     
    SELECT rdb$get_context('USER_TRANSACTION', 'field#') FROM RDB$DATABASE;
    y a peut être plus simple...

  4. #4
    Membre expert

    Homme Profil pro
    Consultant spécialité Firebird
    Inscrit en
    Mai 2002
    Messages
    2 342
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France

    Informations professionnelles :
    Activité : Consultant spécialité Firebird
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 342
    Points : 3 712
    Points
    3 712
    Par défaut
    Citation Envoyé par dug Voir le message
    y a peut être plus simple...
    ça c'est sûr

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    select LIST(TRIM(T1.rdb$field_name),' ')  
    from rdb$relation_fields T1
    where T1.rdb$relation_name='DEPARTMENT'
    Philippe Makowski
    IBPhoenix - Firebird
    Membre de l'April

  5. #5
    dug
    dug est déconnecté
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    151
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 151
    Points : 84
    Points
    84
    Par défaut
    arf... c'est vrai, j'ai oublié la fonction LIST !!

    bon ben, je vais revoir ma copie
    j'étais entrain de rajouter le rajout de COALESCE pour vérifier les champs NULL.

    merci de la précision en tout cas, cela va me simplifier la vie

Discussions similaires

  1. Réponses: 2
    Dernier message: 22/08/2013, 15h58
  2. Comment obtenir la list des liens d'une page web ?
    Par Battosaiii dans le forum Général Dotnet
    Réponses: 0
    Dernier message: 27/10/2009, 14h21
  3. Réponses: 7
    Dernier message: 30/05/2007, 17h17
  4. Récupérer la liste des champs d'une table
    Par mister3957 dans le forum Requêtes et SQL.
    Réponses: 5
    Dernier message: 17/04/2007, 15h56
  5. Comment obtenir la liste des paramètres d'une SP ?
    Par Le Gritche dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 14/03/2003, 17h54

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