在PLSQL中执行语句 
truncate table user 
系统报错:
ORA-00604: 递归 SQL 级别 1 出现错误
ORA-00942: 表或视图不存在
ORA-06512: 在 line 15这个表确实错在还是独立的,与其他表没有关联请教一下这个怎么解决????????????

解决方案 »

  1.   

    user表是在你登录的用户下面吗?你检查一下。
      

  2.   

    truncate table "user"user是关键字,加引号 
      

  3.   

    看看这个查询 select * from dual;看看是不是不止返回一条记录X,如果有多条记录,删除dual其他的记录,留一个X就行。
      

  4.   

    悲剧,肯定是关键字原因啊,把加上架构名吧...
    例如登陆用户是lzf 
    那就truncate table lzf.user
      

  5.   

    SQL> create table user (id number);
    create table user (id number)
                 *
    第 1 行出现错误:
    ORA-00903: 表名无效
    SQL> create table "user" (id number);表已创建。SQL> truncate table user;
    truncate table user
                   *
    第 1 行出现错误:
    ORA-00903: 表名无效
    SQL> truncate table "user";表被截断。SQL>
    user表怎么创建成功的?
      

  6.   

    用errorstack trace一下604 error。其它ddl dcl dml都能使用吗
      

  7.   

    我记得在Oralce性能优化上面有一条案例是drop table 失败~
    貌似是通过SQL_Trace 来定位问题的。当时在执行SQL时,报错为:ORA-00604
      

  8.   

    我说下那个案例的地方吧!
    书名:Oracle数据库性能优化
    第6章6.2 使用SQL_TRACE/10046时间进行数据库诊断
    -------------------------------------
    如果LZ不想自己动手,可以将takof之后的SQLTRACE文件发给我,我可以帮忙免费解决~
    私人邮箱[email protected]
      

  9.   

    drop表时候,报告不能发现对象,原因如下:
    1.该对象确实不存在该用户模式下
    2.大小写(建表时使用了双引号)
    3.shared pool异常,导致该游标被牺牲(bug)
      

  10.   

       你确信没有对dual 修改过吧  修改dual也会导致以上错误
      

  11.   

    有可能是基表有损坏,为什么不trace一下呢? 使用errorstack多清晰啊。
      

  12.   

    USER 是个关键字(返回当前用户名的函数),是不能用来做表名的