请帮助,我正在尝试允许/禁止插入一个名为“vol”的表,该表有一个外键(id_av)来自另一个表“avion”

我也试过用JOIN..ON,但没能真正锻炼出来
发布于 2017-12-28 21:06:57
也许是这样的?
create or replace trigger t
before insert on vol
for each row --> edited
declare
etat VARCHAR(10);
BEGIN
-- MAX will prevent NO-DATA-FOUND
-- Also, you don't need join - use :NEW.ID_AV which is equal to currently inserted value
select max(avion.etat)
into etat
from avion
where avion.id_av = :new.id_av;
-- NVL because - if SELECT returns, nothing, you can't compare NULL with 'disponible'
IF nvl(etat, 'x') <> 'disponible'
THEN
RAISE_APPLICATION_ERROR( -20001, 'insertion imposible');
END IF;
END t;
/ https://stackoverflow.com/questions/48014191
复制相似问题