DB_BeginWork
Beschreibung
Öffnet eine neue explizite Transaktion auf der Datenbank.
Prototyp
DB_BeginWork()
Parameter
Keine Parameter
Rückgabewerte
Nummer | Typ | Bedeutung |
---|---|---|
1 | boolean | immer true |
Hinweise
Diese Funktion muss vor DB_CommitWork oder DB_RollbackWork gerufen werden.
Explizite Transaktionen dürfen nur in Skripten nur verwendet werden, wenn der Skriptaufruf selbst sich nicht bereits innerhalb einer expliziten Transaktion befindet.
Manche Funktionsaufrufe sind möglicherweise nicht mit eigenen expliziten Transaktionen kompatibel, da dort ebenfalls eine Transaktion geöffnet wird (statt Savepoints).
Tritt ein Fehler beim Öffnen der Transaktion auf, wird das Programm vollständig beendet.
Beispiele
--[[
Das Programm demonstriert die Verwendung von DB_BeginWork, DB_CommitWork und DB_RollbackWork.
--]]
local args = { ... }
local trockenlauf = args[1] or 1
-- Neue explizite Transaktion öffnen
DB_BeginWork()
SQL_Exec( "UPDATE arttab SET artbez5 = 'Artikelbezeichnung 5' WHERE finr = " .. SysLogFinr .. " AND artnr = '1000'" )
if trockenlauf == 1 then
-- Änderungen zurückfahren (Artikelbezeichnung bleibt auf vorherigem Wert)
DB_RollbackWork()
else
-- Änderungen anwenden (Artikelbezeichnung wird geändert)
DB_CommitWork()
end
Â
Â