標籤:成功 詞法 視圖 表結構 lis 匯出 串連 bsp div
下午從生產庫匯出了一份表結構,用來測試一些問題,由於生產庫串連著其他使用者下的表所以通過視圖在本地類比一下,於是建立視圖:
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的詞法分析,本身就會將小寫轉成大寫,直接大寫減少了編譯過程的時間,所以大寫是一個好習慣!
Oracle:ORA-00955: name is already used by an existing object