Posted By: Koles (...) on 'CZdatabases'
Title:     vicero radky vracejich selectu v jedne procedure
Date:      Tue May  9 20:40:59 2000

diky medvedovi za obsahly referat o identitach, a jsem tu s dalsim 
problemem.

mam nejakou tabulku veci, ktery jsou zatrideny v kategoriich veci.
chci udelat stranku obsahujici vzdycky nazev kategorie, seznam 
veci v kategorii atd.

nejak se mi nezalibilo reseni, kdy provadim join veci a kategorii,
a pri fetch kazde kategorie fetchuju i popis porad tehoz topicu.

tak me napadlo, ze bych vyuzil kurzory a postupoval nasledne:
(velci orientacni pseudotransactsql):

select @posledni_kategorie = 0
select @forever = 1

declare veci cursor as select * from veci order by kategorie_id
open select

while @forever = 1
    fetchni kurzor veci into neco
    if not @neco_kategorie_id = @posledni_kategorie
    begin
         select ... from kategorie where id = @neco_kategorie_id
         @posledni_kategorie = @neco_kategorie_id
    end
    select neco...
end

tj. lidsky selektim veci a pokazde, kdyz vlezu do nove kategorie,
poptam se v tabuli kategorii na vlastnosti kategorie, selectem
"zobrazim" vlastnosti kategorie a pak si vesele selectim dalsi
veci. 

prekvapilo me, ze v radkovem klientovi to fakt dava smysluplne
vysledky, ale v php, kde jsem zkusil jen minimalistickou 
proceduru typu

create proc pokus as
begin
     select 1 as jedna
     select 2 as jedna
     select 3 as jedna
end
go

dostanu vzdycky jen vysledek prvniho selectu.

takze bych se dovolil optat se zkusenejsich, jestli
1, jsem se prilis nechal unest fantazii a k takovym vecem
   kurzory proste nejsou
2, nebo jestli jsem na spravne stope a jen mi unikl nejaky detail

pripadne pokud je spravne bod jedna, jestli ono trivialni
reseni s joinem kategorii a veci povazujete za rozumne reseni,
nebo se na to da vymyslet jeste nejaka vyfikundace.

diky moc
za pomoc :)

pavel

Search the boards