0
これは私のクレジットカードです。私は、この表では、クレジット/バランス休暇に来月挿入するために、スケジューラを使用しています残高を更新するSQLスケジューラ
creditleaveid empid creditleavemonth creditedleaves
1 21 March 1
が
DELIMITER $$
CREATE EVENT creditleavemonth
ON SCHEDULE EVERY '1' MONTH
STARTS '2017-02-01 00:00:00'
DO
BEGIN
CALL spAddCreditLeaves;
END$$
DELIMITER ;
ストアドプロシージャspAddCreditLeavesある
DELIMITER $$
USE `attendance`$$
DROP PROCEDURE IF EXISTS `spAddCreditLeaves`$$
CREATE DEFINER=`root`@`localhost` PROCEDURE `spAddCreditLeaves`()
BEGIN
INSERT INTO creditleaves(empid,creditleavemonth)SELECT empid,MONTHNAME(CURDATE())FROM empdetails;
END$$
DELIMITER ;
は今、私は記録を更新したいれます前月のすべての従業員の記録をチェックして月を挿入しました。どうやってするか?
'creditleaves'テーブルに' year'フィールドがないようです。それが必要だとは思わない? –
はい...私はそれを変更するつもりです。 – Prady
ここで私が望むのは、次のスケジューラが実行されたときです...その時に私はその挿入されたレコードを更新したいと思います...クレジットは0なら1になり、それが1ならインクリメントされます – Prady