簡體   English   中英

Oracle 認為表在更改期間不存在

[英]Oracle thinks table doesn't exist during alter

我正在嘗試使用以下語法更改表上的列:

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 發生這種情況嗎?

謝謝!

看來MY_SCHEMA.latest_workspace不是一個表。 它可能是一個視圖,或者它可能是某個其他模式中對象的同義詞。 試試這個查詢來找出:

select object_type
from   user_objects
where object_name = 'LATEST_WORKSPACE';

您需要采取的行動取決於結果。

我找到解決這個問題的唯一方法是重新創建表。 (重命名,刪除約束和索引,重新創建原始表,插入記錄)。

找不到原因,但聽起來像個臭蟲。

我也有這個問題,但這是因為表在不同的模式中。 我刪除了一張表並在相同的模式中創建了它,所以它起作用了。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM