Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

package cursori?

[es] :: Oracle :: package cursori?

[ Pregleda: 1792 | Odgovora: 1 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

Bongo_zg
zagreb

Član broj: 114214
Poruke: 36
92.37.121.*



Profil

icon package cursori?30.05.2008. u 05:03 - pre 193 meseci
ako postoji package cursor, da li je dobro imati definiciju varijable u koju se sprema isto na razini packagea?

npr. ako imamo na razini packagea cursor tipa:
cursor c_tablica1(cp_id in number) is
select * from tablica where id=cp_id;

da li je best practice da u nastavku pise:
cv_tablica1 c_tablica1%rowtype;


ili bi se cursor varijabla trebala biti na razini packagea ili razini pojedine procedure/funkcije?

Think Big!
 
Odgovor na temu

djoka_l
Beograd

Član broj: 56075
Poruke: 3453

Jabber: djoka_l


+1462 Profil

icon Re: package cursori?30.05.2008. u 11:52 - pre 193 meseci
Sve zavisi od toga šta želiš da postigneš.

Na primer, ako ćeš kurzor koristiti u for petlji:

for c in c_tablica(bla_bla) loop
-- ostatak koda
null;
end loop;

tada je varijabla c automatski definisana i njen scope je u loop, tako da varijabla na nivou paketa ne treba.

Drugo, definisanje varijabli na nivou paketa vodi u "prljavo" programiranje, tj. funkcije ili procedure imaju "side" efekat. Tvoje funcije i procedure bi trebalo da vraćaju izlazne parametre kroz OUT promenljive ili izlaznu vrednost funkcije, a ne treba da petljaju po globalnim promenljivima (tako postaje vrlo teško da se pronađe greška).

Znači, na nivo paketa stavi samo one varijable koje su zaista globalne za paket.
 
Odgovor na temu

[es] :: Oracle :: package cursori?

[ Pregleda: 1792 | Odgovora: 1 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.