Hola.
Yo utilizo el componente ZSQLProcessor de ZEOS y hago lo siguiente:
zsqlprocessor.script.clear;
zsqlprocessor.script.add('START TRANSACTION;');
zsqlprocessor.script.add('consulta;');
..
..
..
try
zsqlprocessor.script.add('COMMIT;');
zsqlprocessor.execute;
except
zsqlprocessor.script.clear;
zsqlprocessor.script.add('ROLLBACK;');
zsqlprocessor.execute;
end;
También puedes utilizar SAVEPOINT punto1; y luego ROLLBACK TO SAVEPOINT punto1; de esta forma deshaces los cambios hasta punto1.
Ojo con los ';' al final de cada sentencia SQL.
Espero que te sirva.
Saludos, Antonio.
__________________
TonyG
|