Basicamente queria saber si la transaccion funciona y como probarla.
De hecho mi duda va mas que nada por el tema de la transaccion.
Descripcion del SP
BD: MySql
Sp que pregunta si existe o no un usuario.
Si el usuario no existe realiza la insercion
Si el usuario existe le asigna 1 a un parametro de salida
Codigo del SP
Código:
Desde ya muchas gracias DELIMITER $$ USE `prueba`$$ DROP PROCEDURE IF EXISTS `insertacliente`$$ CREATE DEFINER=`root`@`localhost` PROCEDURE `insertacliente`(IN id INTEGER,IN nombcli VARCHAR(45), IN dire VARCHAR(45),IN fono INTEGER,OUT res INTEGER) BEGIN DECLARE a INT; SET AUTOCOMMIT=0; START TRANSACTION; SELECT COUNT(idcliente) INTO res FROM cliente WHERE idcliente=id; IF res=0 THEN INSERT INTO cliente (idcliente,nombre,direccion,telefono) VALUES (id,nombcli,dire,fono); ELSE SET res=1; END IF; SET a=(SELECT @@error_count); IF a=0 THEN COMMIT; ELSE ROLLBACK; END IF; END$$ DELIMITER ;
