Oracle不能删除表 ORA-00604 ORA-01422 错误

2014-11-24 17:46:02 · 作者: · 浏览: 0

[TEST1@orcl] SQL>drop table t10;
drop table t10
*
第 1 行出现错误:
ORA-00604: 递归 SQL 级别 1 出现错误
ORA-01422: 实际返回的行数超出请求的行数


查看一下dual表。可能是dual表中有多行数据。删除全部数据再插入'X'。


[SYS@orcl] SQL>select * from dual;


DU
--
X


[SYS@orcl] SQL>delete from dual;


已删除 1 行。


[SYS@orcl] SQL>select * from dual;


DU
--
Y


[SYS@orcl] SQL>delete from dual;


已删除 1 行。


[SYS@orcl] SQL>select * from dual;


DU
--
m


[SYS@orcl] SQL>delete from dual;


已删除 1 行。


[SYS@orcl] SQL>select * from dual;


未选定行


[SYS@orcl] SQL>insert into dual values('X');


已创建 1 行。


[SYS@orcl] SQL>COMMIT;


提交完成。


[SYS@orcl] SQL>conn test1
输入口令:
已连接。
[TEST1@orcl] SQL>drop table a;


表已删除。



奇怪的是为什么dual表会多出两行记录,我并没有插入数据。有空再研究。