Tema: Transaction
Ver Mensaje Individual
  #5 (permalink)  
Antiguo 01/07/2011, 16:03
Avatar de matanga
matanga
 
Fecha de Ingreso: octubre-2007
Ubicación: España
Mensajes: 1.091
Antigüedad: 16 años, 6 meses
Puntos: 85
Respuesta: Transaction

Cuando no se indica un commit o rollback en un proceso, las transacciones se hacen en forma implícita, y el comportamiento que tengan dependerá de la definición de atomicidad de transacciones que implemente cada base de datos, por ejemplo:

Si tengo una tabla T1 con un campo ID Numerico y ejecuto el procedimiento

Código:
create procedure p1
as
begin
insert into t1 values (1)
insert into t1 values ('a') --Error por alfanumérico en un campo numérico
end
En Oracle, después de la ejecución no verás datos en la tabla porque define que una transacción implícita es a nivel de proceso, en cambio, en SQL Server verás un registro insertado con valor 1 porque define que una transacción implícita es a nivel de sentencia SQL. En conclusión, es recomendado controlar el comportamiento de la transacción con un commit y rollback explícito, pero si no los utilizas, asegúrate de conocer cómo implementa la atomicidad el motor de base de datos con el que estás trabajando.

Saldudos