I am having a "Mutating" trigger error on two tables. Basically, table A has a trigger to UPDATE table B on insert or update. However, table B has a trigger to check that the value of a column in table A is in a valid range.
How can I add a constraint to table B to check that the value of some column in table A is in a valid range? I have tried creating a function to do this but I get an error saying "invalid identifier".
ALTER TABLE MYSCHEMA.TABLE_A ADD
CONSTRAINT MY_TRIGGER
CHECK (MYSCHEMA.MYTABLE_A_FK_CHECK(FK_TBLA_ID) IN (3,4,5))
ENABLE
VALIDATE
Where the function checks a "status_id" column in table a where tableA id = tableB_fk_id.
I get this error when I try to create this:
ORA-00904: "MYSCHEMA.MYTABLE_A_FK_CHECK": invalid identifier
Is there any possible way to do this? I have tried using triggers but when an update occurs in table A, I get the "mutating" table trigger error. Is there any possible way to accomplish something like what I am trying to do?