Slozene typy v PL/pgSQL
Pavel Stehule
stehule na kix.fsv.cvut.cz
Čtvrtek Červen 30 20:50:54 CEST 2005
On Thu, 30 Jun 2005, [Windows-1250] Luká Vadinský wrote:
> Diky moc za odpoved.
>
> Ja jsem samozrejme EXECUTE pouzil, v pripade FOR je vsechno ok, funguje [FOR var_row IN EXECUTE 'SELECT * FROM ' || quote_ident(var_table1) LOOP], ale prave v tom dalsim dotazu UPDATE jsem to zkusil nasledovne
> EXECUTE 'UPDATE table2 SET ' || var_table2_atribY || ' = ' || var_row.var_table1_atribX || ' WHERE table2_pk = var_row.table1_pk';
> Jde mi prave o tu cast 'var_row.var_table1_atribX', kde jmeno tabulky i jmeno sloupce jsou obe promenne. Ja proste nevim, jak to mam zapsat. Kdyz je to napsane takhle, tak mi to hlasi, ze promenna 'var_row' nema pole 'var_table1_atribX', tedy asi nedokaze ten string za teckou cist jako promennou :-(. Asi tam neco pisu spatne.
> Kazdopadne dekuji za odpoved. Poradite mi, prosim, jak vyresit vyse uvedene?
>
> Dekuji, hezky den.
>
> Lukas
>
Jelikoz nemam predchozi mail tak nevim jestli budu v obraze. Co muzu
poradit pri EXECUTE (rozhodne tam neni zadne omezeni)
_prom := 'UPDATE '||table||' SET ....';
RAISE NOTICE '%', _prom;
EXCECUTE _prom;
Proste se podivejte, co tam skutecne posilate,
Pavel
Další informace o konferenci Databases