How can I get "ORA-00904 :: invalid identifier" from a valid package?

I have a procedure that is valid and has an insert..select statement in it. Now there is a case where the execution of this procedure causes the error "ORA-00904 :: invalid identifier" from this instruction. How is this even possible theoretically? No triggers or dynamic SQL.

In addition, the text ORA-00904 in sqlerrm does not contain a pointer to any specific identifier that Oracle considers invalid.

Oracle version 9.2.0.8

edit2:

It turns out that there was a problem with the function that was called from within this select (replaced it with constants and everything worked). Probably for this reason, ORA-00904 did not give an identifier. However, the question remains - how can this precompiled code without dynamic sql give this error?

+5
source share
2 answers

I think that such an error can occur when you access a package where the package is valid, but the body needs to be compiled and throws an exception.

authid current_user, ( , , ). .

+2

, . , , , .

0

All Articles