Oracle认为在alter期间表不存在

时间:2012-09-17 15:08:46

标签: sql oracle oracle11g

我正在尝试使用以下语法更改表上的列:

ALTER TABLE MY_SCHEMA.latest_workspace MODIFY (short_name VARCHAR2(10) NOT NULL);

这是我得到的错误:

  

在命令的第1行开始出错:ALTER TABLE   MY_SCHEMA.latest_workspace MODIFY(short_name VARCHAR2(10)NOT NULL)   错误报告:SQL错误:ORA-00942:表或视图不存在   00942. 00000 - “表或视图不存在”   *原因:
  *操作:

但是,我可以在物理上看到该表,并查询:

SELECT short_name FROM MY_SCHEMA.latest_workspace;

此外,所有正确的权限都授予我登录的用户。是否有其他我忘记的事情会导致ALTER变成这样?

谢谢!

2 个答案:

答案 0 :(得分:2)

看起来MY_SCHEMA.latest_workspace不是一张桌子。它可能是一个视图,或者它可能是某个其他模式中对象的同义词。试试这个查询,找出:

select object_type
from   user_objects
where object_name = 'LATEST_WORKSPACE';

您需要采取的行动取决于结果。

答案 1 :(得分:0)

我发现解决此问题的唯一方法是重新创建表。 (重命名,删除约束和索引,重新创建原始表,插入记录)。

找不到原因,但听起来像是个错误。