Vous n'êtes pas identifié(e).

#1 15/12/2008 18:17:32

nGuinet
Membre

Utilisation des pg_attribute

Est il possible dans la clause WHERE d'utiliser un des champs de pg_attribute pour identifier une colonne (le nom ou la position)?
Dans la table pg_attribute nous avons des champs attnum et attname qui définissent la position et le nom des colonnes de chaque table. Je voudrais les utiliser pour identifier une colonne dans une requête. Exemple :

select * from matable
where (SELECT attname FROM pg_attribute
  WHERE attrelid = (SELECT oid FROM pg_class WHERE relname = 'matable') and attnum = 4)
= 'something';



Merci d'avance.

Hors ligne

#2 16/12/2008 21:20:27

gleu
Administrateur

Re : Utilisation des pg_attribute

Non, ce n'est pas possible. Le retour de la requête renvoie une donnée de type text, pas un nom de colonne.


Guillaume.

Hors ligne

#3 18/12/2008 09:19:00

nGuinet
Membre

Re : Utilisation des pg_attribute

Merci pour la réponse.

Donc il est impossible en posgreSQL de construire des requêtes dynamiques sur le choix des colonnes et des tables ?

Hors ligne

#4 18/12/2008 10:02:45

gleu
Administrateur

Re : Utilisation des pg_attribute

À ma connaissance, oui.


Guillaume.

Hors ligne

#5 18/12/2008 11:59:57

nGuinet
Membre

Re : Utilisation des pg_attribute

ok merci

Hors ligne

Pied de page des forums