DELIMITER $$ CREATE OR REPLACE DEFINER=`root`@`localhost` PROCEDURE `hedera`.`myOrder_configureForGuest`(OUT vSelf INT) BEGIN DECLARE vMethod VARCHAR(255); DECLARE vAgency INT; DECLARE vAddress INT; DECLARE vDate DATE; SELECT cf.guestMethod, cf.guestAgencyFk, cl.defaultAddressFk INTO vMethod, vAgency, vAddress FROM orderConfig cf JOIN myClient cl LIMIT 1; SET vDate = TIMESTAMPADD(DAY, 1, util.VN_CURDATE()); IF WEEKDAY(vDate) BETWEEN 5 AND 6 THEN SET vDate = TIMESTAMPADD(DAY, 7 - WEEKDAY(vDate), vDate); END IF; SELECT id INTO vSelf FROM myOrder WHERE NOT isConfirmed ORDER BY id DESC LIMIT 1; IF vSelf IS NULL THEN CALL myOrder_create( vSelf, vDate, vMethod, vAgency, vAddress ); ELSE CALL myOrder_configure( vSelf, vDate, vMethod, vAgency, vAddress ); END IF; END$$ DELIMITER ;