Sql 创建触发器时使用ORA-06512
我正在尝试为现有表创建触发器:Sql 创建触发器时使用ORA-06512,sql,oracle,plsql,triggers,database-trigger,Sql,Oracle,Plsql,Triggers,Database Trigger,我正在尝试为现有表创建触发器: CREATE OR REPLACE EDITIONABLE TRIGGER "AD_EDGE_FORECAST_PRODUCTS" AFTER DELETE ON "EDGE_FORECAST_PRODUCTS" FOR EACH ROW BEGIN UPDATE EDGE_FORECAST SET PRODUCTS_VCE = CASE WHEN PRODUCTS_VCE IS NULL
CREATE OR REPLACE EDITIONABLE TRIGGER "AD_EDGE_FORECAST_PRODUCTS"
AFTER DELETE ON "EDGE_FORECAST_PRODUCTS" FOR EACH ROW
BEGIN
UPDATE EDGE_FORECAST
SET PRODUCTS_VCE = CASE WHEN PRODUCTS_VCE IS NULL
THEN NULL
ELSE REPLACE(REPLACE(PRODUCTS_VCE, :NEW.PRODUCT, ''), '::', ':') END,
PRODUCTS_VCP = CASE WHEN PRODUCTS_VCP IS NULL
THEN NULL
ELSE REPLACE(REPLACE(PRODUCTS_VCP, :NEW.PRODUCT, ''), '::', ':') END,
PRODUCTS_GRC = CASE WHEN PRODUCTS_GRC IS NULL
THEN NULL
ELSE REPLACE(REPLACE(PRODUCTS_GRC, :NEW.PRODUCT, ''), '::', ':') END,
PRODUCTS_PLM = CASE WHEN PRODUCTS_PLM IS NULL
THEN NULL
ELSE REPLACE(REPLACE(PRODUCTS_PLM, :NEW.PRODUCT, ''), '::', ':') END,
PRODUCTS_MDM = CASE WHEN PRODUCTS_MDM IS NULL
THEN NULL
ELSE REPLACE(REPLACE(PRODUCTS_MDM, :NEW.PRODUCT, ''), '::', ':') END
WHERE ID = :NEW.ID
END;
但当我尝试运行此代码时,会得到以下结果:
ORA-24344: success with compilation error
ORA-06512: at "SYS.WWV_DBMS_SQL_APEX_200100", line 581
ORA-06512: at "SYS.DBMS_SYS_SQL", line 1658
ORA-06512: at "SYS.WWV_DBMS_SQL_APEX_200100", line 567
ORA-06512: at "APEX_200100.WWV_FLOW_DYNAMIC_EXEC", line 2127
这里有什么问题
我是否忘记了一些基本/愚蠢的语法?SQL语句末尾的分号,即ID=:NEW.ID