请输入
菜单

重算加班单和请假单的可用时长

下载

一、demo脚本

DROP PROCEDURE IF EXISTS `ldcrm_reset_kaoqinshichang`;
delimiter ||
CREATE PROCEDURE `ldcrm_reset_kaoqinshichang`(
)
BEGIN

    DECLARE tmp_smownerid INT(19) DEFAULT 0;
    
    DECLARE MYCUSOR CURSOR FOR 
            SELECT
                a.smownerid
            FROM (
                SELECT
                    a.smownerid
                FROM ld_addjobbill a
                WHERE a.approvestatus='已批准'
                GROUP BY a.smownerid
                UNION
                SELECT
                    a.smownerid
                FROM ld_minusjobbill a
                WHERE a.approvestatus='已批准'
                GROUP BY a.smownerid
            ) a
            INNER JOIN ld_users b ON b.id=a.smownerid
            ORDER BY a.smownerid;
    DECLARE CONTINUE HANDLER FOR SQLSTATE '02000' SET tmp_smownerid = NULL;

    OPEN MYCUSOR; 
    FETCH MYCUSOR INTO tmp_smownerid;
    WHILE(tmp_smownerid IS NOT NULL) DO
        SET @disable_triggers='abcdefg';
        CALL ldcrm_update_sykq_byuserid(tmp_smownerid);
        SET @disable_triggers=NULL;
        FETCH MYCUSOR INTO tmp_smownerid;
    END WHILE;
    CLOSE MYCUSOR;

END ||
delimiter;

CALL ldcrm_reset_kaoqinshichang();
DROP PROCEDURE IF EXISTS `ldcrm_reset_kaoqinshichang`;

重算加班单和请假单的可用时长.sql

最近修改: 2025-02-08