|
| Concorde C5: To gange forbi samme post i e~ Fra : Kim Noer |
Dato : 23-10-02 17:03 |
|
Davsen der..
Det er mystisk. I en SEARCH kører jeg igennem OrdKart med Transaktion ==
0
Senere i denne SEARCH, laver jeg fl.g
SET GNU = 1
UPDATE OrdKart
GNU indgår i et index, som SEARCH bruger, men der bliver ikke pt. kaldt
en WHERE på den (sålænge jeg er i debug-fasen).
Men den update betyder faktisk at SEARCH løkken kommer forbi den samme
linie to gange, lige efter hinanden. Altså OrdKart.Nummer optræder to
gange i en PRINT Nummer.
Jeg har aldrig set dette fænomen før - så hvad kan problemet skyldes?
--
If 0 thinks it looks like O, then 0 got a problem right?
| |
Svend Weiersøe Niels~ (24-10-2002)
| Kommentar Fra : Svend Weiersøe Niels~ |
Dato : 24-10-02 22:46 |
|
"Kim Noer" <kn@nospam.dk> skrev i en meddelelse
news:R7qdnZiS8s_TVSugXTWQlg@News.GigaNews.Com...
> Davsen der..
>
> Det er mystisk. I en SEARCH kører jeg igennem OrdKart med Transaktion ==
> 0
>
> Senere i denne SEARCH, laver jeg fl.g
>
> SET GNU = 1
> UPDATE OrdKart
>
> GNU indgår i et index, som SEARCH bruger, men der bliver ikke pt. kaldt
> en WHERE på den (sålænge jeg er i debug-fasen).
>
> Men den update betyder faktisk at SEARCH løkken kommer forbi den samme
> linie to gange, lige efter hinanden. Altså OrdKart.Nummer optræder to
> gange i en PRINT Nummer.
>
> Jeg har aldrig set dette fænomen før - så hvad kan problemet skyldes?
Det er set før. Nu kender jeg ikke meget til Concorde, men en del til andre
basesystemer.
Du læser fysisk ned igennen tabellen en record ad gangen. Hvis du undervejs
laver en opdatering som bevirker at recorden fysisk flytter nedad (eller
hvad vi nu skal kalde det) kan du møde den igen. Det kan undgås bl.a. ved at
opdaterer en timestamp og lade dette felt indgå i where betingelsen.
Nogle systemer gemmer en gang imellem resultat sættet i en workfile f.eks.
hvis sql sætningen indeholder en sortering, og så møde du ikke en recorden
igen.
mvh
SWN
| |
Kim Noer (25-10-2002)
| Kommentar Fra : Kim Noer |
Dato : 25-10-02 09:41 |
|
Svend Weiersøe Nielsen wrote:
> Du læser fysisk ned igennen tabellen en record ad gangen. Hvis du
> undervejs laver en opdatering som bevirker at recorden fysisk flytter
> nedad (eller hvad vi nu skal kalde det) kan du møde den igen. Det kan
Du har sørmer ret. Problemet var faktisk at det felt jeg skulle opdatere
indgik i et indeks som jeg bruger til at indgrænse søgningen med.
--
If 0 thinks it looks like O, then 0 got a problem right?
| |
|
|