用SCOTT用户创建了一个表,然后删除。却怎么也删不掉,提示的信息如下:

ERROR at line 1:
ORA-00604: error occurred at recursive SQL level 1
ORA-01422: exact fetch returns more than requested number of rows

怎么也不知道原因为什么,想问别人,估计没有经历过的也不知道。只好上网查,关键字就按照错误号搜索,结果查出来原因了——就是因为以前对DUAL表进行了一些操作造成的。

DUAL是一个很特殊的表,一般来说返回一行记录,为了测试这个,我当初往DUAL表里面又塞了两条数据,当时来看没有什么不妥,况且查询照样返回一条记录。

但是今天出现的TABLE无法删除的原因,就是跟这个有关,我把插入的两条记录在DUAL表下删除了,结果发现就可以DROP TABLE了。

看来以后对DUAL的操作要小心点,不然很容易出现问题。

0 评论

发表评论

订阅: 博文评论 (Atom)