Oracle:ORA-00955: name is already used by an existing object

來源:互聯網
上載者:User

 下午從生產庫匯出了一份表結構,用來測試一些問題,由於生產庫串連著其他使用者下的表所以通過視圖在本地類比一下,於是建立視圖:

create or replace view csews as select * from order_list;

但是出現ORA-00955: name is already used by an existing object的錯誤,

上網查了下說是資料庫中有了同名對象,於是查詢

select * from all_objects where object_name='csews';

但是沒有任何記錄,很是抓狂,找了好久也沒有找到解決辦法,最後就在表結構檔案中搜尋

csews 居然搜尋到了這樣一條語句:

create or replace synonym CSEWS for P3DBO.CSEWS;

我恍然大悟了,原來建立了同義字。

於是就刪除了同義字:

drop public synonym CSEWS;

然後重新執行:

create or replace view csews as select * from order_list;

視圖就成功建立了。

但是仔細一想,select * from all_objects where object_name='csews';

這條語句應該可以查出來呀,因為我另一個使用者下也有這個視圖但是為什麼沒有查出來呢,於是有把csews 換成大寫試了下即查詢:

select * from all_objects where object_name='CSEWS';

結果就查詢出來了,這時才明白原來要大寫。如果早知道就不會浪費那麼多時間了,但是誰讓咱是菜鳥水平,特此記錄一下,

避免自己下次再犯類似錯誤!

 

注:經過Oracle的詞法分析,本身就會將小寫轉成大寫,直接大寫減少了編譯過程的時間,所以大寫是一個好習慣!

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.