sql/mysql

스케줄러와 자동프로시져

일상코더 2022. 3. 13. 22:40

출 퇴근 관리 DB에 자동 프로시져를 이용해서 퇴근을 찍지 않았을때

자동으로 18:00를 DB에 저장하도록 자동프로시져를 만들었다.

 

USE `commute`;
DROP procedure IF EXISTS `out_auto_update`;

DELIMITER $$
USE `commute`$$
CREATE PROCEDURE `out_auto_update` ()
BEGIN
    update date

    set out_date =(SELECT DATE_SUB(NOW(), INTERVAL 5 HOUR))

    WHERE out_date is null;
    

    update date

    set worktime=timestampdiff(second, in_date, out_date)-3600

    WHERE worktime IS NULL and out_date LIKE '%18:00%';


END$$

DELIMITER ;

 

스케줄러를 만들어서

CALL OUT `commute`으로 자동프로시져를 호출했다.