Today I received a strange error from Oracle, for what appeared to be no good reason:
ORA-06552: PL/SQL: Compilation unit analysis terminated
ORA-06553: PLS-320: The declaration of the type of this expression is incomplete or malformed
I received the error when attempting to create a trigger on a newly created table. I could create triggers on other tables without any errors, however on the new table – it would error every time.
The table definition included a column named
timestamp with the data type
timestamp. Oracle was happy enough for me to create the table, however it refused to let me create a trigger on the table with a column name over lapping a reserved word.
The solution was simple, renamed the column in question to use a non-reserved word and everything continued as normal. I must say though, I think it is strange that it would let me create the table using the reserved word in the first place if it was going to complain about me using other standard Oracle features which would error as a by product of the reserved word.