如何在扣除天数后创建mySQL触发器?

时间:2016-05-14 06:50:32

标签: mysql triggers

CREATE TABLE `leaveinformation`(
`leave_id` CHAR(4) NOT NULL,
`annualleave` INT(2) DEFAULT NULL,
`sickleave` INT(2) DEFAULT NULL,
`maternityleave` INT(3) DEFAULT NULL,

//table for trigger
CREATE TABLE Leave_Balance (
`leave_id` CHAR(4) NOT NULL,
`annualleave` INT(2) DEFAULT NULL,
`sickleave` INT(2) DEFAULT NULL,
`maternityleave` INT(3) DEFAULT NULL,
`day_applied` INT(2) DEFAULT NULL,
`leave_type` VARCHAR(15) NOT NULL,
);



//create trigger
DELIMITER $$
CREATE TRIGGER `After_Deduct_Day`
AFTER UPDATE ON LeaveInformation
FOR EACH ROW 
BEGIN
UPDATE ON Leave_Balance
Leave_ID = OLD.Leave_ID;
IF leave_type=AnnualLeave then
Set AnnualLeave = OLD.AnnualLeave - day_applied,
IF leave_type=SickLeave
Set SickLeave = OLD.SickLeave - day_applied,
ELSE
Set Maternity Leave = OLD.MaternityLeave - day_applied,



END$$
DELIMITER;

我想创建一个触发器,在申请人申请他们的休假类型(annualleave / maternityleave / sickleave)之后,它将从休假余额中扣除他们申请的天数。但我无法找出正确的代码。

0 个答案:

没有答案