各行にトリガーファイアを指定することをお勧めします。これらはずっと簡単だと思います。
MovieStar.Name
かどうかを確認するためにカウントを行うことができます 値はすでに存在し、存在しない場合は挿入します。これは、上記のアプローチと似ています。チェックしてから挿入するまでの間に別のユーザーが映画スターを挿入すると失敗しますが、クラスの割り当てにはおそらく十分です。これには失敗しないアプローチが受け入れられていますが、クラスでまだカバーしていない可能性があります。
このようなことを試してください。おそらく、これまでのクラスでカバーしたすべてのものが組み込まれています:
CREATE OR REPLACE TRIGGER TestTrig
AFTER UPDATE OR INSERT ON STARSIN
FOR EACH ROW
DECLARE
movieStarCount NUMBER;
BEGIN
SELECT COUNT(*) INTO movieStarCount
FROM MovieStar
WHERE Name = :NEW.StarName;
IF movieStarCount = 0 THEN
INSERT INTO MovieStar (Name) VALUES (:NEW.StarName);
END IF;
END;