わかりましたので、私は宿題に取り組んでいます。私は 3 つのテーブル、映画 (タイトル、年、長さ、ジャンル、studioName、プロデューサー) StarsIn (movieTitle、starName) MovieStar (名前、住所、性別、生年月日) を持っています。
基本的に、誰かが Stars で何かを挿入または更新したときに、それらの変更が MovieStar でも発生する必要があることを確認する必要があります。
これまでのところ、私はこのようなものを持っています..
CREATE OR REPLACE TRIGGER testTrig
AFTER UPDATE OR INSERT ON STARSIN
DECLARE
l_name MOVIESTAR.NAME%TYPE;
BEGIN
SELECT NAME FROM MOVIESTAR INTO l_name;
FOR EACH ROW WHEN (new.STARSIN.STARNAME NOT IN l_name)
INSERT INTO MOVIESTAR(NAME) VALUES (new.STARSIN.STARNAME);
END;
いくつかのコンパイラ エラーが発生します
Error(4,1): PL/SQL: SQL Statement ignored
Error(4,28): PL/SQL: ORA-00933: SQL command not properly ended
Error(5,10): PLS-00103: Encountered the symbol "ROW" when expecting one of
the following: in
私はオラクルが初めてで、トリガーを練習しています。これは外部キーを使用して簡単に実行できることはわかっていますが、割り当てはトリガーを使用することです。
私は本当にこれでいくつかの助けを使うことができます. 私はこれを実現するために何百万通りもの方法を試しましたが、うまくいきませんでした。
ヘルプ/アドバイスをお寄せいただきありがとうございます。