Tabele:
CREATE TABLE test.test
(
wartosc text
)
WITH (
OIDS=TRUE
);
CREATE TABLE test.test
(
kod1 text,
opis text,
temat text,
info text
)
WITH (
OIDS=TRUE
);
Funkcja, która obrazuje co chcę osiągnąć:
CREATE OR REPLACE FUNCTION test.test()
RETURNS text AS
$BODY$
DECLARE
wartosc_tab1 text;
wynik text;
BEGIN
wartosc_tab1:= (select wartosc from test.konfig); -- wynik tego zapytania = kod1||'/'||opis||'/'||temat
wynik:= (select wartosc_tab1 from test.opisy limit 1); -- wynik tego zapytania jest identyczny jak pierwszego kod1||'/'||opis||'/'||temat
RETURN wynik;
END;
$BODY$
LANGUAGE plpgsql VOLATILE
COST 100;
Chodzi o to, że wynik pierwszego zapytania to są częściowo kolumny tabeli Opisy. Chodzi mi o to, że on wstawia do zapytania przy wynik wartość jako tekst, a ja potrzebuję, żeby on potraktował to jako kolumny (nie interesuje mnie czy one tam będą istnieć czy nie, bo najwyżej błąd wywali), a zapytanie wynik miało ostatecznie postać:
select kod1||'/'||opis||'/'||temat from test.opisy limit 1
I jeszcze może pytanie: Czy da się w jakiś sposób zrzutować grupę kolumn zapisaną jako tekst, żeby potraktowało je jako kolumny?