DELIMITER $$ CREATE OR REPLACE DEFINER=`root`@`localhost` FUNCTION `srt`.`buffer_isFull`(vBufferFk INT) RETURNS tinyint(1) NOT DETERMINISTIC READS SQL DATA BEGIN /** * Comprueba si un buffer está lleno * * @param vBufferFk Identificador de vn.buffer * */ DECLARE vBufferStock INT; DECLARE vIsFull BOOL; SELECT COUNT(*) INTO vBufferStock FROM srt.expedition e LEFT JOIN srt.moving m ON m.expeditionFk = e.id WHERE e.bufferFk = vBufferFk AND ISNULL(m.id); SELECT vBufferStock + COUNT(*) INTO vBufferStock FROM srt.moving m WHERE m.bufferToFk = vBufferFk; SELECT (vBufferStock >= maxBoxesInBuffer) INTO vIsFull FROM srt.config; RETURN vIsFull; END$$ DELIMITER ;