How to solve : SQL Error: ORA-00604: error occurred at recursive SQL level 1

天涯浪子 提交于 2019-12-21 05:18:08

问题


When I'm trying to drop table then I'm getting error

SQL Error: ORA-00604: error occurred at recursive SQL level 2
ORA-01422: exact fetch returns more than requested number of rows
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.

回答1:


One possible explanation is a database trigger that fires for each DROP TABLE statement. To find the trigger, query the _TRIGGERS dictionary views:

select * from all_triggers
where trigger_type in ('AFTER EVENT', 'BEFORE EVENT')

disable any suspicious trigger with

   alter trigger <trigger_name> disable;

and try re-running your DROP TABLE statement




回答2:


I noticed following line from error.

exact fetch returns more than requested number of rows

Then, I was thinking.. Oracle was expecting one row but It was getting multiple rows. And, only dual table has that characteristic, which returns only one row.

And, I remember that, I have done few changes in dual table and when I executed dual table. Then found multiple rows.

Now, I truncated dual table and inserted only row which X value. And, everything working fine.



来源:https://stackoverflow.com/questions/30478070/how-to-solve-sql-error-ora-00604-error-occurred-at-recursive-sql-level-1

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!