DB_BeginWork




Beschreibung


Öffnet eine neue explizite Transaktion auf der Datenbank.

Prototyp


DB_BeginWork()

Parameter


Keine Parameter

Rückgabewerte


NummerTypBedeutung
1booleanimmer 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).

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