DB_BeginWork
Owned by dw
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).
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