Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » SQL Server »

Visto Bueno en Transacciones

Estas en el tema de Visto Bueno en Transacciones en el foro de SQL Server en Foros del Web. Hola, Buenos dias! Tan solo quiero que me den el "SI" sobre este codigo para q se complete todas las intrucciones de la transaccion: begin ...
  #1 (permalink)  
Antiguo 20/01/2009, 09:41
Avatar de otreblanc  
Fecha de Ingreso: mayo-2005
Ubicación: Chiapas, la última frontera...
Mensajes: 73
Antigüedad: 18 años, 11 meses
Puntos: 0
Visto Bueno en Transacciones

Hola, Buenos dias!

Tan solo quiero que me den el "SI" sobre este codigo para q se complete todas las intrucciones de la transaccion:


begin tran
insert X ...

if @@error<> 0
insert Y ...

if @@error<> 0
delete Z ...

if @@error= 0 commit tran
else rollback tran


uds que opinan??
  #2 (permalink)  
Antiguo 20/01/2009, 11:14
Avatar de Andres95
Colaborador
 
Fecha de Ingreso: diciembre-2004
Mensajes: 1.802
Antigüedad: 19 años, 4 meses
Puntos: 38
Respuesta: Visto Bueno en Transacciones

if @@Error <> 0 quiere decir que ocurrio un error...

en ese caso puedes decirle que salte a una etiqueta donde hagas el rollback y ya no intente hacer operaciones...


Saludos!
__________________
La sencillez y naturalidad son el supremo y último fin de la cultura...
--
MCTS : SQL Server 2008, .NET Framework 3.5, ASP.NET Applications.
  #3 (permalink)  
Antiguo 20/01/2009, 14:04
Avatar de iislas
Colaborador
 
Fecha de Ingreso: julio-2007
Ubicación: Mexico, D.F.
Mensajes: 6.482
Antigüedad: 16 años, 9 meses
Puntos: 180
Respuesta: Visto Bueno en Transacciones

Ademas, la variable de sistema @@error es "volatil", esto es, deberias guardar su valor en una variable.
  #4 (permalink)  
Antiguo 20/01/2009, 14:31
Avatar de otreblanc  
Fecha de Ingreso: mayo-2005
Ubicación: Chiapas, la última frontera...
Mensajes: 73
Antigüedad: 18 años, 11 meses
Puntos: 0
Respuesta: Visto Bueno en Transacciones

Muchas Gracias a ambos!!!!


Realizaré las modificaciones que me recomiendan ....
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 20:27.