当前位置: 代码迷 >> Web前端 >> DROP表时出现ORA-00604异常
  详细解决方案

DROP表时出现ORA-00604异常

热度:453   发布时间:2012-11-23 22:54:33.0
DROP表时出现ORA-00604错误

??? 今天无意间想DROP一个测试表时出现了ORA-00604错误,起初以为数据库或系统的问题,于是重启电脑和数据库。作如下测试:

??? SQL> conn scott/tiger
????已连接。
??? SQL> create table t002(
??? 2? id? number,
??? 3? name varchar2(40));

??? 表已创建。

??? SQL> drop table t002;
????drop table t002
????*
??? 第 1 行出现错误:
??? ORA-00604: 递归 SQL 级别 1 出现错误
??? ORA-01422: 实际返回的行数超出请求的行数

?

发现问题依然存在,于是在技术群里向高手请教,某位高人建议我查看下DUAL表并删除多余数据

??? SQL> conn / as sysdba
????已连接。

??? SQL> select * from dual;

??? D
??? -
??? X

??? SQL> delete from dual ;

??? 已删除 1 行。

??? SQL> select * from dual;

??? D
??? -
??? Y

??? SQL> delete from dual ;

??? 已删除 1 行。

??? SQL> select * from dual;

??? 未选定行

??? SQL> insert into dual values('X');

??? 已创建 1 行。

??? SQL> commit;

?

通过以上过程可以发现原来DUAL表中有两条记录(之前测试DUAL表功能时增加的),删除一条后,DROP正常,可见DUAL表对数据库非常重要!

  相关解决方案