Ver Mensaje Individual
  #5 (permalink)  
Antiguo 10/05/2009, 23:59
turboaux
 
Fecha de Ingreso: mayo-2009
Mensajes: 13
Antigüedad: 15 años
Puntos: 0
Respuesta: No funciona el COMMIT

CREATE DEFINER=`root`@`localhost` PROCEDURE `SP_ADD_CLIENT`(firstname VARCHAR(50), lastname VARCHAR(50), email VARCHAR(50))
BEGIN
DECLARE idUser INT;
DECLARE a INT;

SET AUTOCOMMIT=0;
START TRANSACTION;

INSERT INTO CLIENT (FIRSTNAME, LASTNAME, EMAIL) VALUES (firstname, lastname, email);

SET idUser = LAST_INSERT_ID();

INSERT INTO STUDIO (ID_CL, NAME_ST)
VALUES (idUser, name_st);

INSERT INTO ME_EQUIVOCO (ID_CL, ID_PL, ADDED)
VALUES (idUser, 1, CURDATE());

SET a=(SELECT @@error_count);
IF a=0 THEN
COMMIT;
ELSE
ROLLBACK;
END IF;

END;


Llega perfectamente al COMMIT pero cuando ocurre un error en la tabla o en una insercion jamas llega al ROLLBACK, repito cuando hay error no jamas llega al ROLLBACK alguien podria a yudarme? de antemano gracias