【发布时间】:2014-03-06 19:53:40
【问题描述】:
我尝试了以下操作:
编写一个触发器,使一个部门的预算是支付给该部门员工的工资总和(请记住,员工只在一个部门工作的时间百分比)。 DEPT 表包括 Dept ID (Did)、Budget、ManagerID,Employee(EMP) 表包括 EMPID(eid)、SALARY、BONUS、AGE 和 WORKS 表包括 eid、Did、working_time。
我写的代码是:
CREATE TRIGGER BUDGET_CHK
BEFORE
INSERT OR UPDATE OF BUDGET OR DELETE ON DEPT
FOR EACH ROW
BEGIN
UPDATE DEPT
SET BUDGET =
(SELECT SUM(E.SALARY)
FROM EMP E, WORKS W, DEPT D
WHERE E.eid=W.eid AND D.did=W.did
GROUP BY W.did)
END;
我是甲骨文的新手。有人可以纠正我吗?谢谢!
错误(来自下面的 cmets):
pl/sql: sql statement ignored
ORA-00933 sql command not properly ended
Error(16): PLS-00103: Encountered the symbol "end-of-file" when expecting
one of the following: ( begin case declare end exception exit for goto if
loop mod null pragma raise return select update while with <an identifier>
<a double-quoted delimited-identifier> <a bind variable> << continue close
current delete fetch lock insert open rollback savepoint set sql execute
commit forall merge pipe purge
【问题讨论】:
-
现有的有什么问题?
-
编译器以错误响应我
-
'pl/sql: sql 语句被忽略''ORA-00933 sql 命令未正确结束。'