datensatz als liste "spaltenname | wert" ausgeben

hallo welt!

in meinem projekt habe ich eine funktion, die eine eingabemaske generiert, mit der man entweder bestehende datensätze bearbeiten, oder neue hinzufügen können soll.

wenn man einen neuen datensatz erstellt, dann soll man in der eingabemaske schon die defaultwerte drinstehen haben. diese default-werte hole ich mir mit SELECT attname,adsrc FROM […hier wirds hässlich :-)…] ORDER BY attname ASC. das ergebnis ist also eine tabelle mit 2 spalten: spaltenname | default-wert.
jetzt hole ich mir die defaultwerte der reihe nach aus der tabelle und generiere damit meine eingabemaske.
damit ich nicht die halbe funktion 2mal baun muss hätte ich gerne einen query, der mir einen vorhandenen datensatz auch im format spaltenname | wert (also quasi transformiert) ausgibt.
wie macht man das?

danke schonmal

martin

hi,

wenn ich dich richtig verstanden habe - wo ich mir aber nicht ganz sicher bin :wink: - dann müsstest du halt die zwei felder zusammenfügen. also z.b. feld1 || " - " || feld2

das sollte gehen…

cu tb.

nein, zusammenfügen mag ich garnix ich will, dass die tabelle

FELD1 | FELD2 | FELD3 | FELD4

WERT1 | WERT2 | WERT3 | WERT4

als

FELDNAME | WERT

FELD1 | WERT1
FELD2 | WERT2
FELD3 | WERT3
FELD4 | WERT4

ausgegeben wird

Du muss eine Funktion, z.B mit PL/pgSQL, schreiben, die Dir eine Zeile der Original-Tabelle in die neue Tabelle konvertiert.


mfg

fristo