zobrazeni a aktualizace tabulky PostgreSQL

Kotala Zdeněk Zdenek.Kotala na Mius.cz
Pondělí Červen 10 14:47:30 CEST 2002



> -----Original Message-----
> From: Martin Sittek [mailto:martin.sittek na infoprojekt.cz] 
> Sent: Monday, June 10, 2002 2:19 PM
> To: databases na linux.cz
> Subject: Re: zobrazeni a aktualizace tabulky PostgreSQL
> 
>> 
> Takže jestli jsem to pochopil správně, tak když jedou nadeklaruji 
> cursor tak mi nebude brát v potaz přidávaní a mazání vět z jiné
> stanice, takže by mi ezbylo než vždy zrušit cursor a pak jej znova
> vytvořit ale to bych se zase dostal na stejný problém jako u 
> LIMIT a OFFSET (viz. výše).
> 
> 
> Jak jsem už dříve psal, nemám s programováním s SQL servery moc
> zkušeostí, možná že jsou mé předpoklady nesprávné, nebo na to
> existují nějaké grify?
> 

No podle mne si musite uvedomit jak funguje SQL. Pokud udelate 
select z databaze, tak z toho selektu dostanete data, ktera byla
v te dobe v databazi, a pokud si je ctete pres kursory, tak samozrejmne
data zustanou "vazana" k danemu casu, i kdyz mezitim se tabulka
zmeni.
Cely ten problem spociva  v transakcich a zamykani tabulek. Pokud pouzijete
v transakci selecty s OFFSET a LIMIT dostanete presne stejny vysledek jako
s kursorama (aspon si to myslim :-). 
Jinak dle meho nazoru, pokud uzivatel edituje ciselnik, tak je dobre (snad i
nutne)
aby ostatni uzivatele ho nemohli modifikovat - tim se cast problemu resi.

Co se tyce ostatnich tabulek, tak ja osobne pouzivam system kdy celkovy
prehled je
read only a refresuje se a v pripade zmeny se otevre detail te jedne
konkretni vety.
Ten seznam se vypisuje pomoci kursoru (viz napr. standardni komponenty v
Delphi).

Doporucuji si podrobne prostudovat fungovani transakci v PGSQL.


			S pozdravem Zdenek Kotala


Další informace o konferenci Test