DELIMITER $$ CREATE OR REPLACE DEFINER=`root`@`localhost` PROCEDURE `vn2008`.`pay`(IN datFEC DATE , IN idPROV INT , IN dblIMPORTE DOUBLE , IN idMONEDA INT , IN dblDIVISA DOUBLE , IN idCAJA INT , IN idPAYMET INT , IN dblGASTOS DOUBLE , IN strCONCEPTO VARCHAR(40) , IN idEMP INT) BEGIN -- Registro en la tabla Cajas INSERT INTO Cajas ( Concepto , Serie , Numero , Salida , Cajafecha , Partida , Id_Banco , Id_Trabajador ,empresa_id ,conciliado) SELECT CONCAT('n/pago a ', Proveedor) , 'R' , idPROV , dblIMPORTE , datFEC , 1 , idCAJA , account.myUser_getId() , idEMP , 1 FROM Proveedores WHERE Id_Proveedor = idPROV; -- Registro en la tabla pago INSERT INTO pago(fecha , dueDated , id_proveedor , importe , id_moneda , divisa , id_banco , pay_met_id , g_bancarios , concepte , empresa_id) VALUES(datFEC , datFEC , idPROV , dblIMPORTE , idMONEDA , IF(dblDIVISA = 0, NULL, dblDIVISA) , idCAJA , idPAYMET , dblGASTOS , strCONCEPTO , idEMP); SELECT LAST_INSERT_ID() as pago_id; END$$ DELIMITER ;