Diferencia entre revisiones de «BD.FUNC.CEN FUNC MIEMBRO COLA»
 (Página creada con «==Descripción==  ==Parámetros de entrada==  ===PAR_ID_EXTENSION=== INT  ==Retornos== varchar(64)  Retorna una lista de colas corporativas CEN_COLAS separ...»)  | 
				|||
| Línea 1: | Línea 1: | ||
==Descripción==  | ==Descripción==  | ||
| − | ==Parámetros   | + | ==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 ;  | ||
Revisión actual del 13:43 12 nov 2021
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 ;