Posted By: medved (A~z na v~eky Mikov~ce.) on 'CZdatabases'
Title:     Re: vicero radky vracejich selectu v jedne procedure
Date:      Tue May  9 21:00:54 2000


Ale fuuuj!

Obecne lze vracet z ulozene procedury vice resultsetu (result set - sada radek 
se stejnymi sloupci), dokonce se to velmi casto (i nevedomky) dela.

Ale Tvoje reseni se mi nelibi.

Vracis pto kazdou kategorii dva result sety (jednoradkovy nazev kat. a 
viceradkove veci v kategorii).

Pro kazdy result set se prenasi i pomerne mnoho metadat popisujicich co to za 
data vlastne server vraci. A tim zatizis znacne komunikaci mezi klientem a 
serverem. Nehlede nato, ze to budes muset na strane klienta docela zbesile 
zpracovavat.

Pokud bys chtel obejit join, tak je asi nejlepsi nejdrive vyselektit ciselnik 
moznych kategorii (nemusi byt vsechny, jen ty pouzite) a potom vyselektit 
veci. A v klientovi to potom dat dohromady.

A ted jak je to s temi result sety:

na strane klienta si v pohode fetchujes prvni result set a po jeho konci ti 
fetch vyhodi chybu (v PowerBuilderu je to SQLCode 100), fetchujes druhy 
result set ... konec => SQLCode 100, dalsi result set uz neni => dalsi fetch 
hodi JINOU chybu (PowerBuilder SQLCode -1).

A ted - pokud ulozena procedura vraci i hodnotu svych argumentu (jsou INOUT), 
tak jsou hodnoty techto argumentu obsazeny v poslednim result setu - takze 
vetsinou ulozena procedura vraci nejaky result set ze selectu a nakonci je 
jeste jeden result set s vracenymi argumenty (tento result set ale klientske 
prostredi (ISQL) zpracuje automaticky a niz nezobrazi.

BTW podival bych se jeste na GROUP BY syntaxi, neco takoveho co potrebujest 
to snad umi... 

Bye

Medved

Si vis pacem, para bellum.

Search the boards