Vous n'êtes pas identifié(e).
Pages : 1
Bonjour.
Comment puis-je retourner le nom de la table interrogée dans le résultat d'une requête.
Contexte.
J'interroge une table maitresse qui a des tables héritière et je voudrais connaitre pour chaque enregistrement retourné, le nom de la table héritière dont il est issu.
Merci.
Hors ligne
À moins d'avoir le nom dans une colonne, vous ne pouvez pas.
Guillaume.
Hors ligne
En fait, si, on peut, mais c'est évidemment pas portable du tout:
CREATE TABLE parent (a int);
CREATE TABLE fils1 () inherits (parent);
CREATE TABLE fils2 () inherits (parent);
INSERT INTO fils1 values (1);
INSERT INTO fils2 values (2);
SELECT tableoid::regclass,* from parent ;
tableoid | a
----------+---
fils2 | 2
fils1 | 1
L'écriture ::regclass, c'est juste pour éviter de jointurer sur pg_class. La colonne tableoid est cachée dans toutes les tables, et vaut l'oid de la table.
Marc.
Hors ligne
oula, joli.
Guillaume.
Hors ligne
Merci Marc Cousin, ça fonctionne
Hors ligne
Pages : 1