/ 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
XAL : En samlet UPDATE?
Fra : Kim Noer


Dato : 01-11-02 14:02

Davsen der..

Jeg har en ganske almindelig

SEARCH LagKart USING VareIdx WHERE Varenummer == OrdLinie.Varenummer
SET LagKart.Felt = "GNU"
UPDATE LagKart
END

Men kan man lave en UPDATE udenfor SEARCH'en, så den opdaterer i RAM, og
'committer' det til disken, når den er færdig med gennemløb? En UPDATE
inden i SEARCH nedsætter efter min erfaring farten gevaldigt.

Jeg har prøvet at pakke en TTSBEGIN uden om SEARCH men det ser ikke ud
til at give megen gevinst.

--
If 0 thinks it looks like O, then 0 got a problem right?


 
 
Peter Lykkegaard (01-11-2002)
Kommentar
Fra : Peter Lykkegaard


Dato : 01-11-02 14:49

Som svar på skriblerier nedfældet af Kim Noer :

> Jeg har en ganske almindelig
>
> SEARCH LagKart USING VareIdx WHERE Varenummer == OrdLinie.Varenummer
> SET LagKart.Felt = "GNU"
> UPDATE LagKart
> END
>
> Men kan man lave en UPDATE udenfor SEARCH'en, så den opdaterer i RAM,
> og 'committer' det til disken, når den er færdig med gennemløb? En
> UPDATE inden i SEARCH nedsætter efter min erfaring farten gevaldigt.
>
Min XAL er lidt rusten, men jeg prøver alligevel

Kan du gemme dine updates i en midlertidig tabel eller lignende med nok
felter til at du kan slå op på een record af gangen i LagKart og opdatere
denne?

Evt kan du have de ny felter i en addon tabel for LagKart
Og så hente den een ad gangen for at opdatere på basis af søgningen af
LagKart?

mvh/Peter Lykkegaard



Kim Noer (01-11-2002)
Kommentar
Fra : Kim Noer


Dato : 01-11-02 16:16

Peter Lykkegaard wrote:

> Min XAL er lidt rusten, men jeg prøver alligevel

Løsningen ligger lige rundt om hjørnet :
SEARCH ...
UPDATE ... DELAYED
END

PERFORM DELAYS

Dette her er dog i Concorde C5, så jeg ved ikke om den holder i andre
XAL systemer.

--
If 0 thinks it looks like O, then 0 got a problem right?


Erik Hansen (02-11-2002)
Kommentar
Fra : Erik Hansen


Dato : 02-11-02 08:46

On Fri, 1 Nov 2002 14:02:03 +0100, "Kim Noer" <kn@nospam.dk> wrote:

>SEARCH LagKart USING VareIdx WHERE Varenummer == OrdLinie.Varenummer
> SET LagKart.Felt = "GNU"
> UPDATE LagKart
>END
>
>Men kan man lave en UPDATE udenfor SEARCH'en, så den opdaterer i RAM, og
>'committer' det til disken, når den er færdig med gennemløb? En UPDATE
>inden i SEARCH nedsætter efter min erfaring farten gevaldigt.

Som du selv har fundet ud af så var løsningen at prøve med DELAYS.

>Jeg har prøvet at pakke en TTSBEGIN uden om SEARCH men det ser ikke ud
>til at give megen gevinst.

Når du skriver i et fremmede kartotek bør/skal du altid låse
kartoteket med TTSBEGIN og TTSCOMMIT når opdateringerne er færdige.
Det sikre også at hvis kørslen bliver afbrudt inden den er færdig så
står du ikke med nogle poster som er opdatere og andre som ikke er
opdateret.

Jeg ved godt at TTS låser C5 men det er der ikke noget at gøre ved.

Generelt når jeg opdatere kartoteker i forskellige kørsler så låser
jeg dem altid med TTS hvis der skal skrives i dem. Så er jeg sikker på
at der ikke sker noget forkert i databasen. Der er vist noget med at
hvis to brugere opdatere det samme records går der ged i databasen.

--
....::Hilsen Erik


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