[英]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.