-1
我有这种说法INSTEAD OF触发器,插上视图
CREATE VIEW NaveTiconderoga AS
SELECT nume, tip, cate_arme, diametru_tun, deplasament, Nave.clasa, anul_lansarii
FROM Clase, Nave
WHERE Clase.clasa = Nave.Clasa AND Nave.Clasa = 'Ticonderoga';
我想创建一个触发器,以允许通过此视图插入。
我写了下面的代码,但我确信它是不正确的,直到从SELECT的WHERE子句。 任何指针?
CREATE OR REPLACE TRIGGER ticonderoga
instead of insert on NaveTiconderoga
referencing new as new old as old
begin
insert into clase (clasa, tip, cate_arme, diametru_tun, deplasament)
values (:new.clasa, :new.tip, :new.cate_arme, :new.diametru_tun, :new.deplasament);
insert into nave (nume, clasa, anul_lansarii)
values (:new.nume, :new.clasa, :new.anul_lansarii);
end;
什么“不正确”?你还没有发布你的表格定义。您没有向我们展示您正在使用的'INSERT'语句的示例。你没有告诉我们触发器实际上做了什么。你没有告诉我们这与你想要的触发器有什么不同。 –
你的意思是说它允许你在视图中插入一条记录,然后它不会出现在视图中;因为你可以插入一个不是“Ticonderoga”的clasa值? –
我想说的是,我将如何解释这在触发器内部“WHERE Clase.clasa = Nave.Clasa AND Nave.Clasa ='Ticonderoga';” –