【发布时间】:2015-11-14 06:15:28
【问题描述】:
我有一些关于触发器的错误...
我查看了文档,但没有找到任何解决方案。
触发器简单如下:
CREATE OR REPLACE TRIGGER upm AFTER INSERT ON transaction
BEGIN
UPDATE manufacturer M SET M.mPhoneNumber = M.mPhoneNumber+1 WHERE
M.mID =
(SELECT P.mID
FROM part P where p.pID = :NEW.pID);
END;
/
这看起来不错..但总是以错误告终。
2/1 PL/SQL: SQL Statement ignored
4/3 PL/SQL: ORA-00921: unexpected end of SQL command
6/4 PLS-00103: Encountered the symbol "end-of-file" when expecting
one of the following....
怎么了?
感谢大家的帮助!
【问题讨论】:
-
Transaction 是保留字,您正在使用 NEW 表示未发生 INSERT 的表。
-
但事务是我的表名...
-
而且 NEW 不是指你插入到表事务中的新记录吗?
-
您只能在行级触发器中引用
:NEW和:OLD,即使用FOE EACH ROW子句。