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

Search the boards