[ antix @ 06.11.2005. 12:14 ] @
pozdrav svima...

prije nekog vremena sam citao knjige o mssql-u i transact sql-u i tome slicnome. Ako se dobro sjecam u svim knjigama stoji napomena da se kursori koriste samo kada su stvarno neophodni jer su spori!

u poslednjih par mjeseci citam o oracle i plsql-u! koliko vidim tu se stalno koriste kursori i nisam nigdje vidio da neko kaze kako su spori! i za najobicnije primjere se koriste kursori!

da li neko moze da mi objasni sta je u pitanju? da li je implementacija toliko drugacija kod ove dvije baze ili jednostavno nisam citao prave knjige

pozdrav
[ djoka_l @ 10.11.2005. 10:47 ] @
Ne poznajem SQL server, ali što se tiče Oracle kurzora, oni su prirodan način kako Oracle dohvata podatke. Nakon što se zada upit, rezultat izvršavanja upita je akrivni set kroz koji se prolazi kurzorom. Kada zadaš upit u SQL Plusu to se sve radi u pozadini ali je mehanizam potpuno isti kao kad to pišeš u PL/SQL-u.
Kurzori u PL/SQL-u MORAJU da se koriste osim za upite koji vraćaju tačno jedan red, inače se dobija poruka tipa Exact fetch returned more then expected number of rows. Čak je i upit koji treba da vrati jedan slog brži ako se radi kao kurzor (minimalno ali ipak brži).
Kasnije, kada budeš naučio malo više o ORACLu videćeš da kurzori dalje mogu da se ubrzaju koristeći BULK fetch u PL/SQL nizove ili host nizove, zavisno od toga u kom jeziku budeš pisao programe.
[ Dejan Topalovic @ 15.11.2005. 16:38 ] @
Evo sta kaze uvazeni Tom Kyte na tu temu:
http://www.oracle.com/technolo...g/oracle/03-jan/o13asktom.html

Mozda ces naci nesto korisno. :)