salix/db/routines/vn/procedures/sectorCollection_new.sql

29 lines
880 B
SQL

DELIMITER $$
CREATE OR REPLACE DEFINER=`root`@`localhost` PROCEDURE `vn`.`sectorCollection_new`(vSectorFk INT)
BEGIN
/**
* Inserta una nueva colección, si el usuario no tiene ninguna vacia.
* Esto se hace para evitar que por error se generen colecciones sin sentido.
*
* @param vSectorFk Identificador de #vn.sector
*/
DECLARE hasEmptyCollections BOOL;
DECLARE vUserFk INT;
SET vUserFk = account.myUser_getId();
SELECT (COUNT(sc.id) > 0) INTO hasEmptyCollections
FROM vn.sectorCollection sc
LEFT JOIN vn.sectorCollectionSaleGroup scsg ON scsg.sectorCollectionFk = sc.id
WHERE ISNULL(scsg.id)
AND sc.userFk = vUserFk
AND sc.sectorFk = vSectorFk
AND sc.created >= util.VN_CURDATE();
IF NOT hasEmptyCollections THEN
INSERT INTO vn.sectorCollection(userFk, sectorFk)
VALUES(vUserFk, vSectorFk);
END IF;
END$$
DELIMITER ;