DELIMITER $$ CREATE OR REPLACE DEFINER=`root`@`localhost` PROCEDURE `vn`.`worker_checkMultipleDevice`( vSelf INT ) BEGIN /** * Verify if a worker has multiple assigned devices, * except for freelancers. * * @param vUserFk worker id. */ DECLARE vHasPda BOOLEAN; DECLARE vIsFreelance BOOLEAN; SELECT COUNT(*) INTO vHasPda FROM deviceProductionUser WHERE userFk = vSelf; SELECT isFreelance INTO vIsFreelance FROM worker WHERE id = vSelf; IF NOT vIsFreelance AND vHasPda > 1 THEN CALL util.throw('You can only have one PDA'); END IF; END$$ DELIMITER ;