【发布时间】:2020-10-15 02:50:51
【问题描述】:
表出租有值(ID、odo_out、日期), 表车辆具有值(ID,odo,car), 都有更多的列,但与此无关。
我已尝试创建触发器:
CREATE TRIGGER odo_update AFTER INSERT ON rental
BEGIN
UPDATE rental SET odo_out = (SELECT Vehicle.odo FROM Vehicle WHERE rental.ID = Vehicle.ID)
WHERE EXISTS (SELECT * FROM Vehicle WHERE Vehicle.ID = rental.ID);
END;
它应该检测到rental.odo_out 的NULL 并将其替换为Vehicle.odo 中对应ID 的值。这确实有效,但它会更新表中的每一行,而我希望它只更新带有 NULL 的行,即插入的新行。一个 ID 可以在出租表中重复多次。我该怎么做?
【问题讨论】:
标签: sqlite triggers sql-update