Transacciones

fran
28 de Abril del 2004
Hola,
tengo:

BEGIN TRANSACTION

- Insert SQL
- (*)
- Insert SQL

END TRANSACTION

Estoy forzando en (*) para que haya un error (para ver si realmente me funciona la transaccion), pero aunque me da el error, el primer INSERT me lo hace, y no deberia. ¿Que falla? Como hago para que esas dos instrucciones se comporten de forma atómica???

gracias

tigrefox
28 de Abril del 2004
Mi amigo nunca te va a funcionar, cuando forzas el error el sistema se revienta y listo, no regenera lo hecho, es decir, el primer SQL, cuando hay un error deber manipularlo y hacer el ROLLBACK, esta es la estructura
BEGIN TRANSACTION

Insert SQL

*

Inser Sql

If error
* error es una variable lógica que es .t.t si se
* produujo un error
rollback
else
end transaction
Endif

manuel
28 de Abril del 2004
La verdad es que es raro que no te funcione