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

dudas con proc almacenados y aplicacion

Estas en el tema de dudas con proc almacenados y aplicacion en el foro de SQL Server en Foros del Web. wenas... tengo un montón de páginas asp que ejecutan uno o varios proc almacenados de esta forma: archivo.asp linea 100 -> bd.execute "Procedimiento_Inserta @tipo=10" línea ...
  #1 (permalink)  
Antiguo 14/11/2005, 14:33
Avatar de sabandija25  
Fecha de Ingreso: abril-2004
Mensajes: 302
Antigüedad: 20 años
Puntos: 0
dudas con proc almacenados y aplicacion

wenas...

tengo un montón de páginas asp que ejecutan uno o varios proc almacenados de esta forma:

archivo.asp
linea 100 -> bd.execute "Procedimiento_Inserta @tipo=10"
línea 400 -> bd.execute "Procedimiento_Inserta @tipo=30"

por cómo se estructuran las páginas, se tienen que ejecutar con esa diferencia de líneas...

los proc almacenados estan estructurados así:
AS
IF @TIPO = 1 THEN
BEGIN
SELECT * FROM TABLA
END
END IF
..
..
..
..
..
IF @TIPO = 10 THEN
BEGIN
INSERT INTO TABLA1...
END
END IF
..
..
..
..
..
IF @TIPO = 30 THEN
BEGIN
INSERT INTO TABLA2...
END
END IF

el tema es que me gustaría saber si existe alguna posibilidad de recuperar o o eliminar en este caso puntual, las 2 ejecuciones de proc almacenados en el caso de que se corte la luz(por ejemplo) y se ejecute sólo la primera en la aplicación...


saludos
  #2 (permalink)  
Antiguo 15/11/2005, 08:43
 
Fecha de Ingreso: noviembre-2005
Mensajes: 658
Antigüedad: 18 años, 6 meses
Puntos: 3
Asi como lo tienes programado no puedes hacer eso.
Para lograr lo que quieres estas obligado a usar lo que se llama transacciones atomicas; es quiere decir que cuando comience el proceso deberias comenzar una transaccion y los procesos deberian ejecutarse dentro de la transaccion; llamandose uno a uno y manejando al final de la transaccion los COMMIT para guardar cambios y los ROLLBACK en caso de caidas como el que mencionas o algun otro tipo de problema.
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:42.