我試着做到以下幾點:PL/SQL觸發器來概括行和更新其他行
寫觸發這樣一個部門的預算在部門支付給員工的工資總和(記員工只在部門工作的時間百分比)。所述DEPT表包括部門ID(DID),預算,經理ID,所述員工(EMP)表包括EMPID(EID),工資,獎金,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;
我是新來的Oracle。有人能糾正我嗎?謝謝!
錯誤(從下面的評論):
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
現有的問題是什麼? –
編譯器迴應了我的錯誤 – jasonwzm
發佈錯誤 –