1
这是我正在写的触发器,它一直说我在第8行有一个缺失的等号,并且第7行的sql语句被忽略了?有什么理由为什么会发生这种情况?缺少等号和SQL语句忽略Oracle触发器?
CREATE OR REPLACE TRIGGER TRIGGER_ACTOR_STARRED
BEFORE INSERT ON film_actor FOR EACH ROW
DECLARE a_count NUMBBER(10);
BEGIN
SELECT COUNT(*) INTO a_count
FROM V_ACTORS_STARRED
WHERE :new.actor_id = actor_id;
IF a_count > 0 THEN
UPDATE film
SET rental_rate := rental_rate * 1.10
WHERE :new.actor_id = film_actor.actor_id
AND film.film_id = film_actor.film_id;
END IF;
END;
/
现在,我得到ORA-00904: “FILM_ACTOR”“FILM_ID “:无效的标识符--->这是否意味着我不正确地加入表格(我试图从此触发器更新另一个表格) – user3603183 2014-10-07 04:17:24
因为更新语句不正确。没有'FILM_ACTOR'表的线索。 – 2014-10-07 04:42:43
@ user3603183 - 您还有一个错字:'DECLARE a_count NUMBBER(10);' – codenheim 2014-10-07 04:49:39