0
私が代わりにトリガーの作成しようとしていますが、私はこのエラーを得続ける:11行でエラー:PL/SQLを:ここでSQLエラー・トリガーの代わりに、
を無視SQL文は私のコードです:
CREATE VIEW BiletNouVIP AS
SELECT nume, nrbilet, sursa, destinatia, clasa, valoare
FROM Clienti c, Bilete b
WHERE b.idclient = c.idclient AND c.statut = 'VIP';
- ヌメはBilete
のみPRからvaloareあり、クライアント1から
=: new
無効な構文である - imary鍵は、あなたの割り当ては、コロンの後にスペースを持っているELSEブランチでnrbilet CREATE OR REPLACE TRIGGER new_BiletNouVIP
INSTEAD OF INSERT ON BiletNouVIP FOR EACH ROW
DECLARE
rowcnt integer := 0;
BEGIN
INSERT INTO Clienti(nume)
VALUES(:new.nume);
SELECT COUNT(*) INTO rowcnt FROM Bilete WHERE nrbilet = :new.nrbilet;
IF rowcnt = 0 THEN
INSERT INTO Bilete(nrbilet, clasa, valoare, sursa, destinatia)
VALUES (:new.nrbilet, :new.clasa, :new.valoare, :new.sursa, :new.destinatia);
ELSE
UPDATE Bilete
SET Bilete.clasa =: new.clasa, Bilete.valoare =: new.valoare, Bilete.sursa =: new.sursa, Bilete.destinatia =: new.destinatia
WHERE Bilete.nrbilet =: new.nrbilet;
END IF;
END;`
わからないように、
:new
名前空間の一部である必要がありますが、あなたはかなりMERGE文でコードの大部分を置き換えることができます。 – OldProgrammerそれはちょうど転写物なのかどうか分かりませんが、2番目の更新文でセミコロンの後ろにスペースがある場合 例:Bilete.clasa =:new.clasa insted of Bilete.clasa =:new.clasa –