Ozz*_*zzy 7 sql postgresql triggers constraints
我有两张桌子.我想在car表上创建一个触发器,它将fuel根据某个值在表上插入或删除.
汽车
id - SERIAL
fuel - BOOLEAN
Run Code Online (Sandbox Code Playgroud)
汽油
car_id - INTEGER
Run Code Online (Sandbox Code Playgroud)
我不包括任何行数据,因为触发器的描述不需要它.
基本上,我想在Car表上创建一个触发器:
Car.id到Fuel表,如果Car.fuel is true.Car.fuel is 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;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
9568 次 |
| 最近记录: |