Autor | Zpráva | ||
---|---|---|---|
Perry Profil |
#1 · Zasláno: 16. 3. 2011, 16:19:02
V oracle11 mám vytvořenou takovouhle jednoduchou fci.
create or replace FUNCTION get_adresy(osobaID IN INTEGER, typ IN varchar2) RETURN varchar2 AS vystup varchar2(2000); BEGIN vystup := ''; FOR j IN ( SELECT d.adresa FROM obyvatele ob LEFT JOIN byt b ON b.id = ob.byt_id LEFT JOIN dum d ON d.id = b.dum_id WHERE ob.osoby_id = osobaid AND ob.prava = LOWER(typ) ) LOOP vystup := vystup || j.adresa || '|'; END LOOP; return vystup; END get_adresy Když spustím dotaz: SELECT get_adresy(b.id, 'najemnik') FROM osoby b nic se nestane... Pokud ovšem nahradím přímo ve funkci proměnou typ ve WHERE klauzuli konstantou 'najemnik', vše funguje... co s tím ? |
||
Kajman_ Profil * |
#2 · Zasláno: 16. 3. 2011, 16:31:24
Není v některé z těch tabulek sloupec typ? Pak si pojmenujte proměnnou v parametrech nějak nekolizně.
|
||
Perry Profil |
#3 · Zasláno: 16. 3. 2011, 16:40:50
No jo.. díky moc.. blbá chyba
|
||
Časová prodleva: 13 let
|
0