Bonjour,
Je souhaiterais récuperer la liste des champs d'une table à l'aide d'une requête.
Je me retrouve avec ça :
Fonctionne nickel, cependant, il me manque une chose, et j'ai beau chercher dans les différent catalogues proposés, je ne trouve pas ce qui me convient.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 SELECT attname, typname, attnotnull FROM pg_attribute pa LEFT JOIN pg_type pt ON pt.oid = pa.atttypid LEFT JOIN pg_class pc ON pc.oid = pa.attrelid WHERE pc.relname = 'branches' AND pa.attnum > 0
Je voudrais savoir si le champ est une clé primaire de la table, pour l'exemple il s'agit de la table branches, mais bien entendu dans mon code, c'est une variable.
Bref, je veux la liste des champs d'une table.
Nom Type NotNul et Pk
apparement pg_constraint serait la voie, mais je ne vois pas comment le lier avec pg_attribute, puisque le champ pg_constraint.conkey est de type int2[] et que pg_attribute.attnum est de type int2.
Si je fait une joiture sur la table cela ne convient, je veux ciblé le resultat sur le champ.
Merci d'avance.
Partager