I ran into this error. I tried to explore other 04088 topics but I am still not able to fix it.
My trigger:
CREATE OR REPLACE TRIGGER "TU_INTEGRATIONS"
BEFORE UPDATE ON INTEGRATIONS
REFERENCING NEW AS NEW OLD AS OLD
FOR EACH ROW
DECLARE
bckId INT;
SQLBody VARCHAR2(500);
tableName VARCHAR2(100);
BEGIN
IF :OLD.BCK_ID <> :NEW.BCK_ID THEN
DELETE INT_MODULES im
WHERE im.INT_ID = :NEW.INT_ID
AND NOT EXISTS (SELECT 1
FROM (SELECT BCKM_ID
FROM BACKENDS
WHERE BACKENDS.BCK_ID = :NEW.BCK_ID) b
JOIN ROUTING_SEQUENCES rs
ON rs.BCKM_ID = b.BCKM_ID);
END IF;
FOR item IN (
SELECT MOD_TABLE
FROM MODULES m
WHERE MOD_LEV_INTEGRATION = 1
AND NOT EXISTS (SELECT 1
FROM INT_MODULES imi
WHERE imi.INT_ID = :NEW.INT_ID
AND imi.MOD_ID = m.MOD_ID)
)
LOOP
SQLBody := 'DELETE ' || item.MOD_TABLE || ' WHERE INT_ID = ' ||TO_CHAR(:NEW.INT_ID);
EXECUTE IMMEDIATE SQLBody;
END LOOP;
END "TU_INTEGRATIONS";
Tables used:
The error is:
ORA-00904: "INT_ID": invalid identifier ORA-06512: at "TU_INTEGRATIONS", line 21 ORA-06512: at "TU_INTEGRATIONS", line 21 ORA-04088: error during execution of trigger 'TU_INTEGRATIONS'
I call merge method from entityManager on Integration object where I change just the INT_NAME column.
@Override
public void createOrUpdate(T entity) {
if (entity instanceof TimeTracked) {
processAuditable((TimeTracked) entity);
}
T savedEntity = entityManager.merge(entity);
entity.setId(savedEntity.getId());
}
Thank you for your tips!