好的,所以我正在做家庭作业。我有三个表, Movies(标题、年份、长度、流派、工作室名称、制片人) StarsIn(movieTitle、starName) MovieStar(姓名、地址、性别、出生日期)
基本上我需要确保当有人在 StarsIn 中插入或更新某些内容时,这些更改也需要在 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
我对 oracle 很陌生,我正在练习触发器。我知道这可以使用外键轻松完成,但分配是使用触发器。
我真的可以在这方面使用一些帮助。我已经尝试了一百万种不同的方法来实现这一点,但没有运气。
提前感谢您的任何帮助/建议。