SP - Transaccion

22/06/2005 - 16:34 por Roth | Informe spam
Hola!

Tengo que armar uan tarea programada, en la que corre un SP que transfiere
varios registros de varias tablas a otras. El tema es que si falla algun
insert, quiero que corte el resto de los insert y no siga corriendo y corte
indicando el error y enviando el mail al admin.

Seria poner el SET XACT_ABORT ON , antes dle BEGIN TRANS , y luego poner
todos los inserts y delets no? , esto me asegura que si falla un insert..
por X motivo, no siga corriendo ?

ese X motivo, puede ser desde error por integridad referencial hasta error
de sintaxis ?

por lo del mail lo haría a traves del Administrador de JOBs del SQL ,
correcto?

Gracias !.-

Preguntas similare

Leer las respuestas

#1 Maxi
22/06/2005 - 17:20 | Informe spam
Hola, esta pregunta te la contestaron creo que en el Mug de argentina ;-), y
si deberias usar transacciones y por cada instruccion verificar el valor
@@error por ej

Begin tran
insert into loquesea

if @@error <> 0
begin
rollBack Tran
end

insert into loquesea

if @@error <> 0
begin
rollBack Tran
end

Commit Tran



Salu2
Maxi


"Roth" escribió en el mensaje
news:%23y6%
Hola!

Tengo que armar uan tarea programada, en la que corre un SP que transfiere
varios registros de varias tablas a otras. El tema es que si falla algun
insert, quiero que corte el resto de los insert y no siga corriendo y
corte
indicando el error y enviando el mail al admin.

Seria poner el SET XACT_ABORT ON , antes dle BEGIN TRANS , y luego poner
todos los inserts y delets no? , esto me asegura que si falla un insert..
por X motivo, no siga corriendo ?

ese X motivo, puede ser desde error por integridad referencial hasta error
de sintaxis ?

por lo del mail lo haría a traves del Administrador de JOBs del SQL ,
correcto?

Gracias !.-


Respuesta Responder a este mensaje
#2 Roth
22/06/2005 - 17:27 | Informe spam
Ah !! gracias !! ..

No me llego en el MUG ni mi pregunta ni las respuestas, por eso era que
estaba tan callada la lista para mi !! jajajjaja.. ahora me contacto con el
administrador a ver que pasa..

Gracias Maxi !!!


"Maxi" wrote in message
news:
Hola, esta pregunta te la contestaron creo que en el Mug de argentina ;-),


y
si deberias usar transacciones y por cada instruccion verificar el valor
@@error por ej

Begin tran
insert into loquesea

if @@error <> 0
begin
rollBack Tran
end

insert into loquesea

if @@error <> 0
begin
rollBack Tran
end

Commit Tran



Salu2
Maxi


"Roth" escribió en el mensaje
news:%23y6%
> Hola!
>
> Tengo que armar uan tarea programada, en la que corre un SP que


transfiere
> varios registros de varias tablas a otras. El tema es que si falla algun
> insert, quiero que corte el resto de los insert y no siga corriendo y
> corte
> indicando el error y enviando el mail al admin.
>
> Seria poner el SET XACT_ABORT ON , antes dle BEGIN TRANS , y luego poner
> todos los inserts y delets no? , esto me asegura que si falla un


insert..
> por X motivo, no siga corriendo ?
>
> ese X motivo, puede ser desde error por integridad referencial hasta


error
> de sintaxis ?
>
> por lo del mail lo haría a traves del Administrador de JOBs del SQL ,
> correcto?
>
> Gracias !.-
>
>


Respuesta Responder a este mensaje
#3 Maxi
22/06/2005 - 17:42 | Informe spam
por nada :-)


Salu2
Maxi


"Roth" escribió en el mensaje
news:
Ah !! gracias !! ..

No me llego en el MUG ni mi pregunta ni las respuestas, por eso era que
estaba tan callada la lista para mi !! jajajjaja.. ahora me contacto con
el
administrador a ver que pasa..

Gracias Maxi !!!


"Maxi" wrote in message
news:
Hola, esta pregunta te la contestaron creo que en el Mug de argentina
;-),


y
si deberias usar transacciones y por cada instruccion verificar el valor
@@error por ej

Begin tran
insert into loquesea

if @@error <> 0
begin
rollBack Tran
end

insert into loquesea

if @@error <> 0
begin
rollBack Tran
end

Commit Tran



Salu2
Maxi


"Roth" escribió en el mensaje
news:%23y6%
> Hola!
>
> Tengo que armar uan tarea programada, en la que corre un SP que


transfiere
> varios registros de varias tablas a otras. El tema es que si falla
> algun
> insert, quiero que corte el resto de los insert y no siga corriendo y
> corte
> indicando el error y enviando el mail al admin.
>
> Seria poner el SET XACT_ABORT ON , antes dle BEGIN TRANS , y luego
> poner
> todos los inserts y delets no? , esto me asegura que si falla un


insert..
> por X motivo, no siga corriendo ?
>
> ese X motivo, puede ser desde error por integridad referencial hasta


error
> de sintaxis ?
>
> por lo del mail lo haría a traves del Administrador de JOBs del SQL ,
> correcto?
>
> Gracias !.-
>
>






Respuesta Responder a este mensaje
#4 Roth
23/06/2005 - 14:42 | Informe spam
Lo probé.. pero me salió problema lo pongo en mayusculas entremedio:

Begin tran
insert into loquesea

if @@error <> 0
begin
rollBack Tran
end



-> SI HUBO ERROR SIGUE CORRIENDO

insert into loquesea



-> ESTE INSERT ENTONCES CORRE SIN TRANSACCION POR LO QUE SE EJECUTA
IGUAL

if @@error <> 0
begin
rollBack Tran
end


-> Y SI EL ULTIMO INSERT TIRO ERROR , EL ROLLBACK VA A TIRAR ERROR POR
NO TENER TRANSACCION ACTIVA




Commit Tran





"Maxi" wrote in message
news:
Hola, esta pregunta te la contestaron creo que en el Mug de argentina ;-),


y
si deberias usar transacciones y por cada instruccion verificar el valor
@@error por ej

Begin tran
insert into loquesea

if @@error <> 0
begin
rollBack Tran
end

insert into loquesea

if @@error <> 0
begin
rollBack Tran
end

Commit Tran



Salu2
Maxi


"Roth" escribió en el mensaje
news:%23y6%
> Hola!
>
> Tengo que armar uan tarea programada, en la que corre un SP que


transfiere
> varios registros de varias tablas a otras. El tema es que si falla algun
> insert, quiero que corte el resto de los insert y no siga corriendo y
> corte
> indicando el error y enviando el mail al admin.
>
> Seria poner el SET XACT_ABORT ON , antes dle BEGIN TRANS , y luego poner
> todos los inserts y delets no? , esto me asegura que si falla un


insert..
> por X motivo, no siga corriendo ?
>
> ese X motivo, puede ser desde error por integridad referencial hasta


error
> de sintaxis ?
>
> por lo del mail lo haría a traves del Administrador de JOBs del SQL ,
> correcto?
>
> Gracias !.-
>
>


Respuesta Responder a este mensaje
#5 Maxi
23/06/2005 - 15:30 | Informe spam
Hola , pusiste el return?

if @@error <> 0
begin
rollBack Tran
return 99
end


Salu2
Maxi


"Roth" escribió en el mensaje
news:e7NPyC$
Lo probé.. pero me salió problema lo pongo en mayusculas entremedio:

Begin tran
insert into loquesea

if @@error <> 0
begin
rollBack Tran
end



-> SI HUBO ERROR SIGUE CORRIENDO

insert into loquesea



-> ESTE INSERT ENTONCES CORRE SIN TRANSACCION POR LO QUE SE EJECUTA
IGUAL

if @@error <> 0
begin
rollBack Tran
end


-> Y SI EL ULTIMO INSERT TIRO ERROR , EL ROLLBACK VA A TIRAR ERROR POR
NO TENER TRANSACCION ACTIVA




Commit Tran





"Maxi" wrote in message
news:
Hola, esta pregunta te la contestaron creo que en el Mug de argentina
;-),


y
si deberias usar transacciones y por cada instruccion verificar el valor
@@error por ej

Begin tran
insert into loquesea

if @@error <> 0
begin
rollBack Tran
end

insert into loquesea

if @@error <> 0
begin
rollBack Tran
end

Commit Tran



Salu2
Maxi


"Roth" escribió en el mensaje
news:%23y6%
> Hola!
>
> Tengo que armar uan tarea programada, en la que corre un SP que


transfiere
> varios registros de varias tablas a otras. El tema es que si falla
> algun
> insert, quiero que corte el resto de los insert y no siga corriendo y
> corte
> indicando el error y enviando el mail al admin.
>
> Seria poner el SET XACT_ABORT ON , antes dle BEGIN TRANS , y luego
> poner
> todos los inserts y delets no? , esto me asegura que si falla un


insert..
> por X motivo, no siga corriendo ?
>
> ese X motivo, puede ser desde error por integridad referencial hasta


error
> de sintaxis ?
>
> por lo del mail lo haría a traves del Administrador de JOBs del SQL ,
> correcto?
>
> Gracias !.-
>
>






Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida