/ Forside / Teknologi / Udvikling / SQL / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
SQL
#NavnPoint
pmbruun 1704
niller 962
fehaar 730
Interkril.. 701
ellebye 510
pawel 510
rpje 405
pete 350
gibson 320
10  smorch 260
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?


Søg
Reklame
Statistik
Spørgsmål : 177558
Tips : 31968
Nyheder : 719565
Indlæg : 6408926
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste