Oracle Merge statement
Posted on 2013-01-10
I have an oracle merge statement.
All components are correct individually, yet it fails on the insert with the following error:
SQL Error: ORA-00604: error occurred at recursive SQL level 1
ORA-00905: missing keyword
00604. 00000 - "error occurred at recursive SQL level %s"
*Cause: An error occurred while processing a recursive SQL statement
(a statement applying to internal dictionary tables).
*Action: If the situation described in the next error on the stack
can be corrected, do so; otherwise contact Oracle Support.
It has worked in the past.
My select works.
The update works
the Delete works but not the insert.
It is being run from a package.
The syntax simplified massively is following standard merge structure.
Other items and packages designed the same way work:
merge into mytable
)on ( joins
when matched then
where Del = 'Delete'
when not matched then
insert (--columns )