Ver Mensaje Individual
  #1 (permalink)  
Antiguo 11/05/2013, 08:07
yosoloyo
 
Fecha de Ingreso: mayo-2008
Mensajes: 156
Antigüedad: 16 años
Puntos: 0
Dudas creación de procedimiento

Buenas tardes

He creado un procedimiento que funciona correctamente pero me ha surgido una duda, un poco absurda pero que me gustaría despejar.

En el procedimiento hago 3 updates, 1 delete y un insert, todos independientes entre si porque son 5 tablas diferentes, pero que en realidad hacen un todo. Es decir, si falla uno de las 5 acciones, no me gustaría que las otras 4 se ejecutaran, ya sea si falla en la primera como si falla en la 5º y última.

Me explico un poco mas:

En el procedimiento lo que hago es recoger los datos de un cliente (nombre, gasto, etc) y con esos datos voy editando los datos del mismo cliente, los datos de una factura y los datos de un producto.

Me he encontrado que por ejemplo si empiezo actualizando los datos del cliente en la tabla correspondiente y da OK, luego al pasar a actualizar otra tabla, si da error, el dato actualizado primer no vuelve a su ser. Es decir, no se comporta el procedimiento como un todo, sino que cada acción (como es normal) actua de forma independiente.

Que ocurre, que no se en caso de que una de las acciones falle, volver a dejar el estado en el que estaba el resto de tablas o terminar y no ejecutar el resto de sentencias (dependiendo del número de acción que se esté ya ejecutando)

No se si esto es posible, dado que mi intención haciendo un procedimiento es evitar el masivo código que supondría ir haciendo 5 consultas a la base de datos desde PHP.

Un saludo