DELIMITER $$ CREATE OR REPLACE DEFINER=`root`@`localhost` FUNCTION `vn`.`travel_hasUniqueAwb`( vSelf INT ) RETURNS BOOL READS SQL DATA BEGIN /** * Comprueba que el travel pasado tiene un AWB lógico, * no se pueden tener varios AWB asociados al mismo DUA * * @param vSelf Id del travel */ DECLARE vHasUniqueAwb BOOL DEFAULT TRUE; SELECT NOT COUNT(t2.awbFk) INTO vHasUniqueAwb FROM entry e JOIN travel t ON t.id = e.travelFk JOIN duaEntry de ON de.entryFk = e.id JOIN duaEntry de2 ON de2.duaFk = de.duaFk JOIN entry e2 ON e2.id = de2.entryFk JOIN travel t2 ON t2.id = e2.travelFk WHERE t.id = vSelf AND t2.awbFk <> t.awbFk; RETURN vHasUniqueAwb; END$$ DELIMITER ;