/**
* update触发器
*/
DELIMITER $$
DROP TRIGGER `updateEat`$$
CREATE
TRIGGER `updateEat` AFTER UPDATE ON `TB_BACK_EAT`
FOR EACH ROW BEGIN
DECLARE _gameId INT;
DECLARE _drawDateId INT;
DECLARE _number VARCHAR(4);
DECLARE _status INT;
DECLARE _big DECIMAL(13,6);
DECLARE _sml DECIMAL(13,6);
DECLARE _num_game_draw VARCHAR(100);
SET _gameId = NEW.game_id;
SET _drawDateId = NEW.drawDate_id;
SET _number = NEW.number;
SET _status = NEW.status;
SET _big = NEW.big;
SET _sml = NEW.small;
SET _num_game_draw = CONCAT(_number,'_',_gameId,'_',_drawDateId);
IF _status=1 THEN -- 表示取消
INSERT INTO TB_BACK_EAT_REPORT(gameId, drawDateId,WEEKDAY,number,fromBig,fromSml,big,small,putBig,putSml,outBig,outSml,num_game_draw)
VALUES(_gameId,_drawDateId,1,_number,_big,_sml,0,0,0,0,0,0,_num_game_draw)
ON DUPLICATE KEY
UPDATE fromBig= CASE WHEN (fromBig-_big)>=0 THEN fromBig-_big ELSE 0 END,
fromSml= CASE WHEN (fromSml-_sml)>=0 THEN fromSml-_sml ELSE 0 END;
END IF;
END;
$$
DELIMITER ;
/**
* insert的触发器
*/
DELIMITER $$
DROP TRIGGER `insertEat`$$
CREATE TRIGGER `insertEat` AFTER INSERT ON `TB_BACK_EAT`
FOR EACH ROW BEGIN
DECLARE _gameId INT;
DECLARE _drawDateId INT;
DECLARE _number VARCHAR(4);
DECLARE _status INT;
DECLARE _big DECIMAL(13,6);
DECLARE _sml DECIMAL(13,6);
DECLARE _num_game_draw VARCHAR(100);
SET _gameId = NEW.game_id;
SET _drawDateId = NEW.drawDate_id;
SET _number = NEW.number;
SET _status = NEW.status;
SET _big = NEW.big;
SET _sml = NEW.small;
SET _num_game_draw = CONCAT(_number,'_',_gameId,'_',_drawDateId);
IF _status=0 THEN -- 表示添加
INSERT INTO TB_BACK_EAT_REPORT(gameId, drawDateId,WEEKDAY,number,fromBig,fromSml,big,small,putBig,putSml,outBig,outSml,num_game_draw)
VALUES(_gameId,_drawDateId,1,_number,_big,_sml,0,0,0,0,0,0,_num_game_draw)
ON DUPLICATE KEY
UPDATE fromBig=fromBig+_big,fromSml=fromSml+_sml;
END IF;
END;
$$
DELIMITER ;