Stored procedure

23/12/2003 - 16:31 por CARO | Informe spam
Saludos a todos, mi consulta, es que tengo un stored
procedure que ejecuta varios a su vez, pero necesito
programar que si alguno falla, que me deje la bases de
datos como estaba, el problema es que no lo puedo hacer
por fechas por que hay tablas que no lo manejan. Como
podria hacer esto???
Gracias de antemano

Preguntas similare

Leer las respuestas

#1 Maximiliano Damian Accotto
23/12/2003 - 16:33 | Informe spam
Caro,

porque no usas transacciones?



Maximiliano Damian Accotto
"CARO" escribió en el mensaje
news:04ed01c3c969$d5e74b40$
Saludos a todos, mi consulta, es que tengo un stored
procedure que ejecuta varios a su vez, pero necesito
programar que si alguno falla, que me deje la bases de
datos como estaba, el problema es que no lo puedo hacer
por fechas por que hay tablas que no lo manejan. Como
podria hacer esto???
Gracias de antemano
Respuesta Responder a este mensaje
#2 CARO
23/12/2003 - 16:43 | Informe spam
Disculpa mi ignorancia pero soy nueva en esto, como lo
haria?? segun se los commit son automaticos????
Caro,

porque no usas transacciones?



Maximiliano Damian Accotto
"CARO" escribió en


el mensaje
news:04ed01c3c969$d5e74b40$
Saludos a todos, mi consulta, es que tengo un stored
procedure que ejecuta varios a su vez, pero necesito
programar que si alguno falla, que me deje la bases de
datos como estaba, el problema es que no lo puedo hacer
por fechas por que hay tablas que no lo manejan. Como
podria hacer esto???
Gracias de antemano




.

Respuesta Responder a este mensaje
#3 Isaías
23/12/2003 - 17:01 | Informe spam
Con permiso de mi amigo Max

Los COMMIT no son automaticos cuando las transacciones con
EXPLICITAS.

BEGIN TRAN MyTransaccion
UPDATE MyTabla SET MyCol = '01' WHERE MyCol in('02','03')
IF @@ROWCOUNT = 0
BEGIN
ROLLBACK TRAN MyTransaccion
RETURN(0)
END
COMMIT TRAN MyTransaccion
SELECT 'PROCESO EJECUTADO SATISFACTORIAMENTE'
Respuesta Responder a este mensaje
#4 Maximiliano Damian Accotto
23/12/2003 - 17:13 | Informe spam
no problem amigo, es asi como decis, lo unico que te cambiaria es el return

si da error pondria distinto de 0 ;-)

Salu2

Maximiliano Damian Accotto
"Isaías" escribió en el mensaje
news:098a01c3c96d$f9a2cc40$
Con permiso de mi amigo Max

Los COMMIT no son automaticos cuando las transacciones con
EXPLICITAS.

BEGIN TRAN MyTransaccion
UPDATE MyTabla SET MyCol = '01' WHERE MyCol in('02','03')
IF @@ROWCOUNT = 0
BEGIN
ROLLBACK TRAN MyTransaccion
RETURN(0)
END
COMMIT TRAN MyTransaccion
SELECT 'PROCESO EJECUTADO SATISFACTORIAMENTE'


Respuesta Responder a este mensaje
#5 CARO
23/12/2003 - 17:47 | Informe spam
Gracias, ya lo probe, pero me da error en el return y en
el commit transaction, yo anteriormente los habia
utilizado en mis stored procedure, pero me daban estos
mismos errores.
A RETURN statement with a return value cannot be used in
this context.(con el return)

Error del commit:
Server: Msg 3902, Level 16, State 1, Line 9
The COMMIT TRANSACTION request has no corresponding BEGIN
TRANSACTION.



no problem amigo, es asi como decis, lo unico que te


cambiaria es el return

si da error pondria distinto de 0 ;-)

Salu2

Maximiliano Damian Accotto
"Isaías" escribió


en el mensaje
news:098a01c3c96d$f9a2cc40$
Con permiso de mi amigo Max

Los COMMIT no son automaticos cuando las transacciones




con
EXPLICITAS.

BEGIN TRAN MyTransaccion
UPDATE MyTabla SET MyCol = '01' WHERE MyCol in




('02','03')
IF @@ROWCOUNT = 0
BEGIN
ROLLBACK TRAN MyTransaccion
RETURN(0)
END
COMMIT TRAN MyTransaccion
SELECT 'PROCESO EJECUTADO SATISFACTORIAMENTE'






.

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