... von solchen Würgdrumherums würde ich dringlich abraten, das widerspricht der SQL denke, dem SQL Standard und verzichte´t auf die volle Mächtigkeit von SQL.

D*B

Zitat Zitat von B.Hauser Beitrag anzeigen
Ich vermute in den bisherigen RPG-Programmen waren/sind die Dateien in den F-Bestimmungen als Update-Files definiert. Beim Chain wird der Datensatz gesperrt bis entweder ein Update (oder Delete) erfolgt oder der nächste Datensatz eingelesen wird.

Ich nehme weiterhin an, dass nicht mit Commitment Control gearbeitet wird.

Eine vergleichbare Situation kann man mit (embedded) SQL dadurch erreichen, dass ein updatefähiger Cursor (d.h. z.B. Joins sind nicht zulässig) definiert wird. Weiterhin muss ein Update auf den Cursor mit der Angabe WHERE CURRENT OF CURSOR erfolgen. Beim Fetch wird dann der Datensatz gesperrt (analog CHAIN, READ oder READE einer Update File) und beim Update (über WHERE CURRENT OF) oder beim Lesen des nächsten Satzes wieder freigegeben.

Wenn es allerdings lediglich darum geht simple Chains und anschließende Updates zu ersetzen, würde ich empfehlen auch weiterhin native I/O verwenden. Stattdessen sollten die Zugriffe lieber gekapselt in eigene Prozeduren ausgelagert werden.

Birgitta