-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';」 –