2013-12-10 49 views
0

任何人都可以向我解釋爲什麼PK上的「DISABLE PRIMARY KEY CASCADE」的執行不會將相應的唯一(!)索引設置爲不可用?爲什麼DISABLE PRIMARY KEY CASCADE不能將唯一索引設置爲不可用?

據我所知,CASCADE選項應該做到這一點...但是,我在不同的場合觀察到了不同的情況。

希望你們中的一些人能夠提供幫助。

最好的問候, daZza

+0

你有更具體的情況嗎?該指數實際上應該放棄,而不是失效。 – Mat

回答

2

級聯選項禁用依賴於這一個限制,比如依賴於主要或唯一約束外鍵。

獨特的索引不是一個約束,雖然它作爲一個。

一般來說,我會建議您創建非唯一索引來支持主鍵或唯一鍵,而不是唯一索引,正是出於這個原因,並且允許約束可延遲或完全刪除並重新創建,而無需重新創建索引。

+0

http://docs.oracle.com/cd/B28359_01/server.111/b28310/general005.htm#ADMIN11547:「當數據庫使用UNIQUE或PRIMARY KEY索引執行約束時,以及與該索引相關的約束被刪除或禁用,索引被刪除,除非你另有指定「 – Mat

+0

嗯,有趣。我不相信有這樣的事情是「主要指標」。我最好跑一個或兩個測試... –

+0

謝謝。經過更多的手動測試後,似乎只有FK等都被禁用。 我剛剛編程了另一個循環來設置所有的UNIQUE-INDEX不可用。 – daZza

相關問題