BD.FUNC.CEN FUNC MIEMBRO COLA

De VIVAitwiki
Ir a la navegaciónIr a la búsqueda

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 ;