2016-01-04 97 views
0

我試圖做一個插入到數據庫中,我看到了記錄這個消息:ORA-00001:唯一約束(TEST.SALES_PK)違反

OCI0000179 - Error - ORA-00001: unique constraint (TEST.SALES_PK) violated 

我發現這個查詢來獲取侵犯鍵:

SELECT DISTINCT table_name FROM ALL_INDEXES WHERE INDEX_NAME='SALES_PK'; 

但是沒有返回。任何人都知道如何讓這個錯誤消息來自這個領域?

問候

編輯:

返回任何結果,即使witk '喜歡' 或通配符

+1

嘗試使用帶有通配符而不是'='的'LIKE'。 –

+0

我試過並且沒有返回 – proktovief

+1

和通配符(%)我想。 – user2672165

回答

1

解決:

與此查詢我發現INDEX_NAME:

select * from dba_constraints where constraint_name = 'SALES_PK' 

而與此,我發現表名:

SELECT DISTINCT table_name FROM ALL_INDEXES WHERE INDEX_NAME='SALES_PK'; 

臨屋nks to @Boneist

2

也許應該看看有問題的約束第一。

SELECT * 
FROM ALL_CONSTRAINTS 
WHERE CONSTRAINT_NAME = 'SALES_PK' 

https://docs.oracle.com/cd/B12037_01/server.101/b10755/statviews_1037.htm#sthref1152

+0

也不會返回任何內容 – proktovief

+0

@ptercat - 檢查編輯是否爲約束視圖。 - 你可能需要玩弄使用什麼濾鏡 - 或者只是看看它們,直到找到它。 – Hogan

+1

@ptercat如果您針對dba_constraints運行等效查詢 - 例如'select * from dba_constraints where constraint_name ='SALES_PK';'? – Boneist