gpt4 book ai didi

sql - 插入或更新时的 PostgreSQL 触发器

转载 作者:行者123 更新时间:2023-11-29 11:22:00 25 4
gpt4 key购买 nike

我有两张 table 。我想在 car 表上创建一个触发器,它将根据特定值在 fuel 表上插入或删除。

汽车

id - SERIAL
fuel - BOOLEAN

燃料

car_id -  INTEGER

我没有包含任何行数据,因为触发器的描述不需要它。

基本上,我想在 Car 表上创建一个触发器:

  • 在插入或更新时运行。
  • 如果 Car.fuel 为真,则将 Car.id 插入到 Fuel 表中。
  • 如果 Car.fuel 为 false,触发器应删除 Fuel 表中 Fuel.car_id = Car.id 的所有行。

我该怎么做?

编辑:澄清一下我使用的是 Postgres

最佳答案

既然你没有提到 RDBMS,我假设它是 Oracle。下面是触发器。如果您使用的是其他 RDBMS,请调整代码以适应语法。

CREATE OR REPLACE TRIGGER TRG_CAR
AFTER INSERT OR UPDATE ON CAR
FOR EACH ROW

BEGIN

IF :new.FUEL THEN
INSERT INTO FUEL (CAR_ID) VALUES (:new.ID);
ELSE
DELETE FROM FUEL WHERE CAR_ID = :new.ID;
END IF;
END;

关于sql - 插入或更新时的 PostgreSQL 触发器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14772192/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com