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


[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表会多出两行记录,我并没有插入数据。有空再研究。

相关内容