You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何创建触发器:插入CabinCrew时累加时长至Employee的FlightHours

实现CabinCrew插入时自动更新Employee飞行时长的触发器

针对你的需求,以下是主流数据库的触发器实现方案:

SQL Server 实现

CREATE TRIGGER trg_CabinCrew_Insert_UpdateFlightHours
ON CabinCrew
AFTER INSERT
AS
BEGIN
    SET NOCOUNT ON;

    UPDATE e
    SET e.FlightHours = e.FlightHours + i.Hours
    FROM Employee e
    INNER JOIN inserted i ON e.EmployeeID = i.EmployeeID;
END;
  • 触发器在CabinCrew表插入操作完成后触发,通过系统表inserted获取新插入的记录,关联Employee表累加飞行时长。

MySQL 实现

DELIMITER //
CREATE TRIGGER trg_CabinCrew_Insert_UpdateFlightHours
AFTER INSERT ON CabinCrew
FOR EACH ROW
BEGIN
    UPDATE Employee
    SET FlightHours = FlightHours + NEW.Hours
    WHERE EmployeeID = NEW.EmployeeID;
END //
DELIMITER ;
  • 使用DELIMITER临时修改语句分隔符,避免与触发器内的分号冲突;NEW关键字代表刚插入的行数据,逐行触发更新。

Oracle 实现

CREATE OR REPLACE TRIGGER trg_CabinCrew_Insert_UpdateFlightHours
AFTER INSERT ON CabinCrew
FOR EACH ROW
BEGIN
    UPDATE Employee
    SET FlightHours = FlightHours + :NEW.Hours
    WHERE EmployeeID = :NEW.EmployeeID;
END;
/
  • 通过:NEW引用新插入的行数据,FOR EACH ROW确保每条插入记录都触发对应的Employee表更新。

内容的提问来源于stack exchange,提问作者Vonec

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.10 21:01:22