4D v14.3SET QUERY AND LOCK |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D v14.3
SET QUERY AND LOCK
SET QUERY AND LOCK
Der Befehl SET QUERY AND LOCK legt fest, dass die Datensätze gesperrt werden, die durch Suchläufe, ausgelöst durch Aufruf dieses Befehls in der aktuellen Transaktion, gefunden werden. Das bedeutet, dass die Datensätze zwischen der Suche und dem Bearbeiten des Suchergebnisses nur im aktuellen Prozess verändert werden können. Dieser Befehl muss innerhalb einer Transaktion verwendet werden. Bei Aufruf außerhalb dieses Kontexts wird ein Fehler erzeugt. So lässt sich das Sperren von Datensätzen besser steuern. Wurde SET QUERY AND LOCK(Wahr) ausgeführt, führen die Suchbefehle, wie z.B. QUERY spezifische Operationen aus, wenn beim Suchen Datensätze gefunden werden, die bereits gesperrt sind:
Folglich müssen Sie in diesem Zusammenhang bei einer ergebnislosen Suche (aktuelle Auswahl leer bzw. Variable OK auf 0 gesetzt) die Menge LockedSet testen, um den Grund für die fehlgeschlagene Suche herauszufinden. Die Datensätze werden für alle Tabellen in der aktuellen Transaktion gesperrt. Rufen Sie SET QUERY AND LOCK(Falsch) auf, um diese Operation anschließend wieder aufzuheben. SET QUERY AND LOCK verändert nur das Verhalten von Suchbefehlen, also für:
In diesem Beispiel lässt sich zwischen den Befehlen QUERY und DELETE SELECTION ein Kunde, der von Kategorie C in Kategorie A übertragen wird, nicht verändern. START TRANSACTION Wird der Befehl außerhalb einer Transaktion aufgerufen, wird ein Fehler generiert. |
EIGENSCHAFTEN
Produkt: 4D
GESCHICHTE
Erstellt: 4D v11 SQL SIEHE AUCH ARTIKELVERWENDUNG
4D Programmiersprache ( 4D v12.4) |
||||||||||||||||||||||||||||||||||||||||||||||||||||||