0
我下面運行完成在Oracle中創建觸發器查詢: -TRIGGER tU_DEDPARM_OEFix編譯警告:執行與警告
SQL>CREATE OR REPLACE TRIGGER tU_DEDPARM_OEFix
AFTER INSERT OR UPDATE ON DED_PARM FOR EACH ROW
BEGIN
UPDATE DED_PARM SET
DED_PARM.OVRD_DED_AM = COALESCE(i.OVRD_DED_AM,0.00),
DED_PARM.OVRD_DED_PC = COALESCE(i.OVRD_DED_PC,0.00000)
FROM DED_PARM AS d INNER JOIN inserted AS i
ON (i.INTERNAL_EMPL_ID=d.INTERNAL_EMPL_ID AND
i.APPOINTMENT_ID=d.APPOINTMENT_ID AND
i.DEDTYP_CD=d.DEDTYP_CD AND
i.EFFECTIVE_DT=d.EFFECTIVE_DT)
END;/
查詢的執行後,我面臨着以下錯誤: -
TRIGGER tU_DEDPARM_OEFix編譯警告:執行完成時發出 警告。
然後我跑到下面的查詢看到編譯錯誤
SQL>觸發TU_DEDPARM_OEFIX顯示錯誤的錯誤;
下面是錯誤的: -
5/3 PL/SQL:ORA-00933:SQL命令不能正確地結束2/3
PL/SQL:SQL語句忽略10/4 PLS -00103:遇到 符號「結束文件」在需要下列之一時:(開始的情況下宣告結束退出異常的轉到如果環模
空編譯提高收益選擇更新而與 < < 繼續關閉當前刪除獲取鎖芯打開回滾 保存點設置SQL執行提交FORALL合流管清洗
有人可以幫我準備正確的查詢。僅供參考 - 觸發器已創建,但創建時出現上面顯示的編譯錯誤。
謝謝!
謝謝回答。但是,如果我把分號(;)後DED_PARM.OVRD_DED_PC = COALESCE(:new.OVRD_DED_PC,0); (前FORM) 我面臨着以下錯誤: - 5/3 PLS-00103:出現符號「FROM」在需要下列之一時: (開始的情況下宣告結束退出異常的轉到如果環模 空pragma raise return select update with with <一個標識符> <<繼續關閉當前刪除讀取鎖定 插入打開回滾保存點集合sql執行提交所有 合併管道清除 –
我猜,我不應該在FORM之前加上分號,否則在放置代碼後我仍然面臨同樣的錯誤。@ Kacper –
你根本不需要那裏。https://docs.oracle.com/cd/B19306 _01/server.102/b14200/statements_10007.htm#i2112182 @AshutoshBajpai – Kacper