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