Posted By: gaudentius (gaudentius) on 'CZdatabases'
Title: Re: rekurze ?
Date: Tue Mar 29 10:10:22 2005
> Potrboval bych dat hodnoty z jednoho sloupce v tabulce do jednoho radku
> nejlepe selectem nebo funkci a nepouzit kutzor. Podarilo se mi to napsat v
> siklu ale v oracle to tvrdosijne vraci null. Neresili jste to nekdo ?
> Oracle:
> ======
> CREATE OR REPLACE FUNCTION o_test_group
> RETURN VARCHAR2
> IS
> var_id VARCHAR2 (4000);
> BEGIN
> var_id := '?';
>
> SELECT (var_id || NVL (cislo_smlouvy, ',') )
> INTO var_id
> FROM TABLE;
>
> RETURN var_id;
> END;
> /
Todle by IMHO melo generovat excepsnu No data found, zkus ji na konci
procedury chytat. Hezci by to bylo s kurzorem, ale kdyz nemuzes, tak co treba
tohle:
function o_test_group RETURN VARCHAR2
IS
var_id VARCHAR2 (4000);
pocet number;
begin
var_id := '?';
select count(*)
into pocet
from konstanty;
for i in 1..pocet loop
select var_id||', '||nazeva
into var_id
from
(select k.nazev nazeva, rownum radek
from konstanty k
where rownum <= i)
where radek = i;
end loop;
return var_id;
exception when others then
return var_id||' Chyba'||sqlerrm;
end o_test_group;
> Tex
-- gaud.wz.cz