BD.FUNC.CEN FUNC MIEMBRO COLA
1 Descripción
2 Parámetros
USE `nimitz`;
DROP function IF EXISTS `nimitz`.`CEN_FUNC_MIEMBRO_COLA`;
DELIMITER $$
USE `nimitz`$$
CREATE DEFINER=`adminNimitz`@`%` FUNCTION `CEN_FUNC_MIEMBRO_COLA`(
PAR_ID_EXTENSION INT
) RETURNS varchar(64) CHARSET utf8
MODIFIES SQL DATA
DETERMINISTIC
BEGIN
DECLARE VAR_NOMBRE VARCHAR(32);
DECLARE VAR_EXTENSION VARCHAR(32);
DECLARE VAR_PRIORIDAD INT;
DECLARE VAR_COLAS VARCHAR(255);
DECLARE VAR_NO_HAY BOOLEAN;
DECLARE num_filas INT DEFAULT 0;
DECLARE SQL_CEN_COLAS_EXTENSIONES CURSOR for
select CC.C_NOMBRE,CE.C_NOMBRE,CCE.N_PRIORIDAD from CEN_COLAS_EXTENSIONES CCE
INNER JOIN CEN_COLAS CC ON CCE.ID_COLA=CC.ID
INNER JOIN CEN_EXTENSIONES CE ON CCE.ID_EXTENSION=CE.ID
where ID_EXTENSION=PAR_ID_EXTENSION;
DECLARE CONTINUE HANDLER FOR NOT FOUND
SET VAR_NO_HAY = TRUE;
SET VAR_COLAS = "";
OPEN SQL_CEN_COLAS_EXTENSIONES;
select FOUND_ROWS() into num_filas;
bucle: LOOP
FETCH SQL_CEN_COLAS_EXTENSIONES INTO VAR_NOMBRE,VAR_EXTENSION,VAR_PRIORIDAD;
IF VAR_NO_HAY then
CLOSE SQL_CEN_COLAS_EXTENSIONES;
LEAVE bucle;
END IF;
IF VAR_PRIORIDAD IS NULL THEN
SET VAR_COLAS=CONCAT(VAR_COLAS,VAR_NOMBRE,"|SIP/",VAR_EXTENSION,";");
ELSE
SET VAR_COLAS=CONCAT(VAR_COLAS,VAR_NOMBRE,"|SIP/",VAR_EXTENSION,"|",VAR_PRIORIDAD,";");
END IF;
END LOOP bucle;
RETURN VAR_COLAS;
END$$
DELIMITER ;