DELIMITER $$ CREATE OR REPLACE DEFINER=`root`@`localhost` PROCEDURE `vn`.`worker_updateBusiness`(vSelf INT) BEGIN /** * Activates an account and configures its email settings. * * @param vSelf account id. */ DECLARE vOldBusinessFk INT; DECLARE vNewBusinessFk INT; SELECT businessFk INTO vOldBusinessFk FROM worker WHERE id = vSelf; SELECT id INTO vNewBusinessFk FROM business WHERE workerFk = vSelf AND util.VN_CURDATE() BETWEEN started AND IFNULL(ended, util.VN_CURDATE()) LIMIT 1; UPDATE worker SET businessFk = vNewBusinessFk WHERE id = vSelf; IF vOldBusinessFk IS NULL THEN CALL account.account_enable(vSelf); UPDATE client c JOIN payMethod pm ON pm.code = 'bankDraft' SET c.payMethodFk = pm.id WHERE c.id = vSelf AND c.iban; END IF; END$$ DELIMITER ;