Hallo Ludger,

ob ein Zugriffspfad fehlt, findest Du am einfachsten, wenn Du das Programm im Debug laufen lässt und dann im Joblog nachsiehst; der Query Optimizer legt dort Diagnostics ab, wie er das SQL ausführt.
Bei Deiner Form der Verarbeitung sollte es schneller werden, wenn Du beim Update in der Where Bedingung mit WHERE CURRENT OF Cursorname arbeitest.

mfg

Dieter Bender

Zitat Zitat von loeweadolf
Als SQL-Anfänger habe ich noch einige Probleme.

Ich habe ein embedded SQL verwendet auf eine
DDS-beschriebene Datei (ca. 500000 Datensätze), aus der nach Vorgaben bestimmte Datensätze mit
DECLARE / SELECT ausgefiltert werden.
Ich habe zwar eine Sortierung (ORDER BY) angegeben,
wäre aber nicht notwendig.

Diese deklarierten Sätze lese ich von vorne bis hinten
durch mit FETCH NEXT, solange bis Fehler-Code 100
auftaucht.

Diverse Datenfelder dieser Sätze werden individuell verändert und jeder dieser Sätze wird zurückgeschrieben mit UPDATE, wobei mit SET die geänderten Felder gefüllt und beschrieben werden, jeweils mit WHERE (Satzindex, bestehend aus mehreren Feldern).

Das Programm läuft ziemlich lange.
Kann es daran liegen, dass kein geeigneter Zugriffspfad vorhanden ist?
Sollte man ein logische erstellen ?
Wonach richtet sich diese, nach den WHERE-Angaben im Update oder nach den ORDER BY im Select ?

Für jede Antwort wäre ich dankvar.

mfg. Ludger