Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

[PL/SQL, Oracle] Parametryzacja kursora

0 views
Skip to first unread message

Julius

unread,
Feb 16, 2005, 3:09:03 AM2/16/05
to
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;

Pozdrawiam
Julius

--
Odpisując na priv usuń podkreślenie z adresu.

Julius

unread,
Feb 16, 2005, 5:01:41 AM2/16/05
to
Oczywiscie chodziło mi o deklarację kursora, a nie o instrukcję otwarcia
kursora. Z góry dzieki za podpowiedz.

Sławomir Szyszło

unread,
Feb 16, 2005, 12:59:49 PM2/16/05
to
Dnia Wed, 16 Feb 2005 09:09:03 +0100, "Julius" <_jul...@supermedia.pl>
wklepał(-a):

>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

Marcin Jackowski

unread,
Feb 17, 2005, 4:54:52 AM2/17/05
to
> 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;

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


Julius

unread,
Feb 17, 2005, 6:44:30 AM2/17/05
to
Wielkie dzieki, dziala!

Pozdrawiam
Julius

0 new messages