DROP FUNCTION IF EXISTS `FN_NoticeInDepts`;
CREATE DEFINER = `root`@`%` FUNCTION `FN_NoticeInDepts`(torgs MEDIUMTEXT,tdepts MEDIUMTEXT)
RETURNS tinyint(1)
COMMENT '作者:恒 作用:查询部门权限和新闻权限是否有相同的'
BEGIN
DECLARE orgId VARCHAR(20);
DECLARE tindex BIGINT(20);
#新闻权限是否为空
IF torgs is NULL OR TRIM(torgs) = '' THEN
RETURN 0;
END IF;
#部门权限是否为空
IF tdepts is NULL OR TRIM(tdepts) = '' THEN
RETURN 0;
END IF;
SET torgs=CONCAT(torgs,',');
SET tdepts=CONCAT(',',tdepts,',');
SET tindex = LOCATE(',',torgs);
#循环判断新闻权限是否出现在部门权限中
WHILE tindex>0 DO
SET orgId =left(torgs,tindex-1);
IF INSTR(tdepts,CONCAT(',',orgId,','))>0 THEN
RETURN 1;
END IF;
SET torgs=SUBSTR(torgs FROM tindex+1);
SET tindex = locate(',',torgs);
END WHILE;
#如果新闻发布部门没有在部门权限内
RETURN 0;
END;
Mysql函数比较1,2,3和3,4,5是否有相同的数字
最新推荐文章于 2022-11-21 11:57:32 发布