2014-10-31 3601 views
1

我有一個新的空模式,我試圖創建一個新的物化視圖問題是我有一個ORA - 12006錯誤,我不知道WY,因爲就像我已經說過了,在瑪是空的,有什麼數據它尚未...ORA-12006:具有相同user.name的物化視圖已經存在

我的查詢看起來像:

CREATE MATERIALIZED VIEW mySchema.mvName (column1,column2) 
TABLESPACE myTablespace 
REFRESH COMPLETE ON DEMAND 
WITH PRIMARY KEY 
AS 
SELECT DISTINCT column1,column2 AS alias 
FROM [email protected] 
WHERE condition1; 
/

我已經alredy創建撥款予DBLINK。

有人能幫我嗎? 謝謝!

+1

什麼是'DROP的輸出物化視圖mySchema.mvName'? – 2014-10-31 11:09:52

回答

2

如果問題的代碼是正是您在SQL * Plus運行那麼這個預期是什麼。

對於SQL * Plus中的SQL語句,您不需要; a /;就夠了。 PL/SQL只需要/

實際上,在您的情況下,/是您出錯的原因。

簡而言之:當SQL * Plus到達;時,它創建物化視圖。然後到達/這意味着「在緩衝區中運行語句」。因此,再次執行create mview - 顯然會產生一個錯誤。

見我關於這個話題相關答案更多細節:
https://stackoverflow.com/a/10207695/330315

+0

是的!你是對的!!我正在使用sqlPlus,但我正在執行的腳本是由Toad提供的,所以/字符是自動生成的。刪除它,它工作正常!謝謝大家,謝謝大家! – 2014-10-31 11:39:49

+0

你不需要降落傘跳傘。你需要降落傘跳傘兩次;-) – 2014-10-31 11:42:41

0

簡單的,你可以檢查,如果你有機會獲得字典

select object_name,object_type,owner 
from dba_objects where object_name='yourobject'; 

或者與選擇

SELECT * 
FROM <source user>.<source table>@<database link> 

即使西爾的問題,一個很基本的檢查是非常適用

DROP MATERIALIZED VIEW myschema.mvname; 

然後嘗試創建視圖。

如果錯誤是快照,然後重複檢查在它

SELECT * 
FROM all_snapshots ; 
相關問題