W jaki sposób sparametryzować instrukcję otwarcia kursora uzytkownika?
Chcialbym do procedury przekazywac nazwe kolumny i nazwe tabeli (jako
varchar2). Jak to zrobić?
CURSOR krs IS SELECT nazwa_col FROM nazwa_tab;
Pozdrawiam
Julius
--
Odpisując na priv usuń podkreślenie z adresu.
>Serwus
>
>W jaki sposób sparametryzować instrukcję otwarcia kursora uzytkownika?
>Chcialbym do procedury przekazywac nazwe kolumny i nazwe tabeli (jako
>varchar2). Jak to zrobić?
>
>CURSOR krs IS SELECT nazwa_col FROM nazwa_tab;
Można stworzyć kursor dynamiczny, jednak raczej się tego nie używa. Po co chcesz
mieć kursor, który korzysta z dowolnej tabeli?
Zwykły kursor można zadeklarować z parametrem:
CURSOR c_a (p_nr number) IS
SELECT * FROM TABELA
WHERE ID = P_NR;
--
Sławomir Szyszło mailto:slas...@poczta.onet.pl
Primus inter FAQires & Grand Inquisitor no.0 of pl.comp.bazy-danych
FAQ pl.comp.bazy-danych http://www.dbf.pl/faq/
Archiwum http://groups.google.com/groups?group=pl.comp.bazy-danych
moze jakos tak:
declare
TYPE ref1 IS REF CURSOR;
vc_cur1 ref1;
vv_result varchar(32767);
begin
OPEN vc_cur1 FOR 'SELECT nazwa_col FROM nazwa_tab';
LOOP
FETCH vc_cur1 INTO vv_result;
EXIT WHEN vc_cur1%NOTFOUND;
...
END LOOP;
end;
Marcin
Pozdrawiam
Julius