Hallo,

das ist bei read only (wg. Felder aus zwei Dateien) Cursor, unter default commit level (dirty read) oder gar ohne commit, insensitivem Cursor (ebenfalls default) und der Erlaubnis temporäre Kopien zu ziehen (sagt man beim Wandeln, ebenfalls default) völlig normal. Optimize for 1 row hilft da nix, man muss den cursor sensitive machen, das ist eine Klausel beim declare cursor (depends on release, siehe Reference).

mfg

Dieter Bender

Zitat Zitat von Robi
Hi *all
bin grad böse auf SQL eingefallen
Ich bau in einem pgm ein SQL-Statement zusammen:
select file1.*, file2.* rrn(file1), RRN(file2) form file1 inner join file2 on blabla bla
anschliesend Prepare, open und dann in einer Schleife
fetch und verarbeitung

So.
Das Pgm läuft mehrere Minuten.
(in der zwischenzeit wird von allen Anwendern weitergearbeitet)
nun habe ich festgestellt, das Sätze der Datei FILE2 nicht aktuell sind sondern den Stand des Prepares haben
Ein Update auf File2 macht also zwischenzeitliche Änderungen aus anderen Programmen auf File2 kaput.

1. Frage: ist das so ?
2. Frage: habt ihrs gewußt ?
3. Frage: hilft ein 'optimize for 1 Row'?
oder was sonnst

Gruß vom Steinhuder Meer
Robi