TRANSACCIONES ANIDADAS

20/05/2008 - 00:06 por Fernando | Informe spam
GRUPPO, COMO ESTAN

NECESITO HACER UNA SERIE DE PROCEDIMIENTOS, EN SQL 2005 STD.
NECESITO HACER UNOS INSERTS, UPDATE Y DELETE EN UN MISMO SP, Y QUIERO
IMPLEMENTAR TRANSACCIONES, O SEA IR HACIENDO LAS TRANSACCIONES PERO
DENTRO DE UNA GENERAL,. NO SE SI ME EXPLICO

EL TEMA ES QUE SI ALGUNA TRANSACCION INTERNA ME FALLA, QUE EL
PROCEDIMIENTO VUELVA PARA ATRAZ TODO, HAGA EL ROLLBACK Y ADEMAS ME
DIGA EN QUE SUBTRANSACCION SE PRODUJO LA FALLA. POR EJMPLO SI TENGO
QUE HACER UN INSERT, UN DELETE, Y UN UPDATE. Y LA TRANSACCION FALLA EN
EL DELETE. QUE EL SP ME DIGA QUE EL ERROR SE PRODUJO EN EL DELETE Y
QUE HAGA EL ROLLBACK DE LA TRANSACCION GENERLA

ESTUVE LEYENDO EN LOS BOOKS,ENCONTRE ALGO SOBRE ANIDADAS Y MARCAS DE
TRANSACCIONES, PERO NO VEO COMO IMPLEMENTAR ESO PARA QEU FUNCIONE EN
MI ESCENARIO.

GRACIAS! ESPERO SU RESPUESTA

Preguntas similare

Leer las respuestas

#1 Penta
20/05/2008 - 01:25 | Informe spam
Hola Fernando.
Solo por curiosidad, porque necesitas transacciones anidadas ?? eso es
valido ??

Ejemplo:

Primer Begin tran
Transacciones
Segundo begin tran
Transacciones
Primer commit o rollback
Segundo commit o Rollback

Para que el Primer commit o Rollback ??? en que caso SI te serviria ??

Atte.
Penta.
Respuesta Responder a este mensaje
#2 Alfredo Novoa
20/05/2008 - 10:11 | Informe spam
Hola Penta,

On Mon, 19 May 2008 16:25:16 -0700 (PDT), Penta
wrote:

Hola Fernando.
Solo por curiosidad, porque necesitas transacciones anidadas ?? eso es
valido ??



Claro que es válido, y SQL Server lo permite.


Ejemplo:

Primer Begin tran
Transacciones
Segundo begin tran
Transacciones
Primer commit o rollback
Segundo commit o Rollback

Para que el Primer commit o Rollback ??? en que caso SI te serviria ??



Pues sirve para descomponer transacciones largas en unidades más
pequeñas que pueden ser confirmadas o aunuladas independientemente.

Por ejemplo si tienes una transacción muy muy larga y te encuentras un
error por el final, si no usas transacciones anidadas al hacer un
rollback pierdes todos los cambios y tienes que comenzar de nuevo. En
cambio si usas transacciones anidadas si encuentras un error solo
tienes que anular y repetir un subgrupo de las operaciones.

Cualquier SGBD serio debe de permitir las transacciones anidadas.


Saludos
Alfredo
Respuesta Responder a este mensaje
#3 Penta
20/05/2008 - 17:57 | Informe spam
Hola.
Me refería a esto:
"EL TEMA ES QUE SI ALGUNA TRANSACCION INTERNA ME FALLA, QUE EL
PROCEDIMIENTO VUELVA PARA ATRAZ TODO"

Si queremos volver atras todo para que necesito transacciones
anidadas ?

Atte.
Penta.
Respuesta Responder a este mensaje
#4 Alfredo Novoa
20/05/2008 - 18:11 | Informe spam
Hola Penta,

On Tue, 20 May 2008 08:57:41 -0700 (PDT), Penta
wrote:

Hola.
Me refería a esto:
"EL TEMA ES QUE SI ALGUNA TRANSACCION INTERNA ME FALLA, QUE EL
PROCEDIMIENTO VUELVA PARA ATRAZ TODO"

Si queremos volver atras todo para que necesito transacciones
anidadas ?



Hombre, me imagino que quiere volver para atrás la "subtransaccion".


Saludos
Alfredo
Respuesta Responder a este mensaje
#5 Penta
20/05/2008 - 18:47 | Informe spam
OK OK, pero quiere volver TODO atras no sola la subtransaccion
No se o tengo sueño o estoy leyendo muy mal leo claramente que dice:
"QUE HAGA EL ROLLBACK DE LA TRANSACCION GENERLA "

O sea que haga rollback a TODO :)

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