Gatilho para inserir e atualizar vários registros na mesma tabela no MySQL

Eu tenho mesa

    CREATE TABLE `seniority_master` (
  `EMPNO` varchar(4) NOT NULL,
  `NAME` varchar(40) DEFAULT NULL,
  `GENDER` varchar(10) DEFAULT NULL,
  `CATGRY` varchar(10) DEFAULT NULL,
  `DOB` date DEFAULT NULL,
  `DESG` varchar(40) DEFAULT NULL,
  `DESGTYPE` varchar(100) DEFAULT NULL,
  `SENIORITY` int(4) NOT NULL,
  `EMPTYPE` varchar(45) DEFAULT NULL,
  `TYPE` varchar(45) DEFAULT NULL,
  `QUAL` varchar(200) DEFAULT NULL,
  `BRANCH` varchar(30) DEFAULT NULL,
  `DOJ` date DEFAULT NULL,
  `DOCA` date DEFAULT NULL,
  `PAYSCALE` varchar(45) DEFAULT NULL,
  `OTHERDESC` varchar(45) DEFAULT NULL,
  PRIMARY KEY (`EMPNO`,`SENIORITY`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

INSERT INTO `seniority_master` VALUES ('1389','MUNNA','Male','OBC','195,9-10-31','SENIOR RECORD SORTER (ASS-I)','',2,'STAFF','P03','4th','AGRA','1982-07-01','2007-07-01','12100-24500','');
INSERT INTO `seniority_master` VALUES ('1391','RAJENDER SINGH','MALE','UR','1965-07-09','AM (GENERAL)','GENERAL',40,'OFFICERS','H1','INTER  ','AGRA','1984-06-22','2013-09-05','16400-40500','');
INSERT INTO `seniority_master` VALUES ('1392','MADAN GOPAL','Male','OBC','1966-07-04','SENIOR OFFICE MANAGERS-I (GENERAL)','',6,'STAFF','L1','10TH','AGRA','1984-08-17','2015-04-17','15600-30500','');

Nos dados acima, oantiguidade (2,40,6) do funcionário muda sempre que a promoção é realizada com base notipo (P03, H1, L1) do empregado.

O que realmente precisamos é de um gatilho que atualize oantiguidade de todos os outros funcionários para otipo quando um funcionário é atualizado, inserido ou excluído.

Ex: Suponhaempno 4620 temantiguidade 5 etipo A1, quando excluímos o particularempno na tabela seniority_master, oantiguidade abaixo de funcionários da mesmatipo para ser atualizado automaticamente por incremento ou decremento com base noantiguidade. Procedimento semelhante para as operações de atualização e inserção concluídas.

Sou capaz de criar gatilhos AFTER INSERT e AFTER UPDATE para os requisitos do meu programa.

DELIMITER $
CREATE TRIGGER after_seniority_insert 
    AFTER INSERT ON seniority_master
    FOR EACH ROW 
BEGIN
   INSERT INTO emp_positions
   ( empno,
     position,
     dop)
   VALUES
   ( NEW.empno,
     NEW.desg,
     NEW.doca );
END$
DELIMITER ;

Após a atualização:

DELIMITER $
CREATE TRIGGER after_seniority_update 
    AFTER UPDATE ON seniority_master 
    FOR EACH ROW 
BEGIN
IF (old.desg != new.desg &&
          old.doca != new.doca) then
   INSERT INTO emp_positions
   ( empno,
     position,
     dop)
   VALUES
   ( NEW.empno,
     NEW.desg,
     NEW.doca );
END IF;
END$
DELIMITER ;

Ajude-me no cenário acima para criar gatilho.

questionAnswers(0)

yourAnswerToTheQuestion