CREATE TRIGGER Supervisors
BEFORE INSERT OR UPDATE ON Employee
FOR EACH ROW
WHEN(new.EmpRank = 0 OR new.EmpRank = 1)
DECLARE
supervisorRank INT;
BEGIN
SELECT EmpRank INTO supervisorRank
FROM Employee
WHERE new.SupervisorID = Employee.Id;
IF((new.SupervisorID IS NULL) OR (supervisorRank - new.EmpRank != 1)) THEN
RAISE_APPLICATION_ERROR(-20004, 'Cannot insert/update record into table Employee. Invalid supervisor.');
END IF;
END;
上記は、クエリを実行するたびにトリガーです。トリガーが無効であり、再検証に失敗したというエラーが表示されます