我装的是Oracle 10g,版本是10.2.0.1.0,用system用户登陆输入命令
create table student (student_id number primary key,student_name varchar2(20),student_birthday date,student_address varchar2(50),student_phone varchar2(20));创建student表,之后使用命令drop table student;的时候,出现提示说ORA-00604:递归SQL级别1出现错误以及ORA-01422:实际返回的行数超出请求的行数 然后我输入drop table student cascade constraint也出现了同样的提示。我是刚学Oracle没有多久的,以前使用过Oracle删除表也没有发生过这样的问题,请问这是什么原因,如何进行解决?谢谢~

解决方案 »

  1.   

    你再drop表的时候,oracle会对数据字典等执行递归sql,打开SQL_TRACE,跟踪一下这个错误是哪个sql产生的?
      

  2.   


    我使用system登陆后执行delete from dual发现权限不足,然后换用sysdba登陆,发现可以执行。之后如果要删除student表要通过drop table system.student的形式。请问,那么使用system为什么不能进行相关的删除操作,另外就是为什么需要清楚dual虚表中的内容?非常感谢您的教导!!
      

  3.   


    如何进行这个SQL错误的跟踪?我是新手,如果您有时间,希望能指导一下如何操作,谢谢!