2014-12-30 90 views
0

在了DB,我們有一個名爲「代理」與AGENCY_ID爲主鍵(PK)表的表。還有大約30個表使用AGENCY_ID作爲外鍵(FK),它引用「AGENCY」表中的PK。甲骨文獲得引用給定主鍵值

有沒有辦法統計有多少次特定PK值AGENCY_ID(即1004)作爲FK引用在所有的30個「引用」表,而不用檢查每個單獨的鏈接表。當您嘗試刪除行與另一個表中引用PK

參照完整性例外得到投擲,所以我認爲必須有檢查是否存在其他表中引用的方法。

我試圖尋找ALL_CONSTRAINTSALL_TAB_COLUMNS表,但他們沒有解決問題。任何想法如何解決它?由於

+1

你的意思是看着實際的AGENCY_ID值?不,你將不得不查詢這30個表格。寫一個腳本。如果你知道這個問題 – OldProgrammer

+1

幾乎回答:http://www.techonthenet.com/oracle/questions/find_pkeys.php - 也這樣:http://stackoverflow.com/questions/1729996/list-of-foreign-keys -and-的桌,他們引用 – tvCa

+0

感謝@tvCa,它是有點幫助,但我們感興趣的是實際的PK值被引用,並沒有那麼多的PK信息本身 – ukie

回答

0

我不認爲任何數據字典視圖可用於實現你的目標,但如果你需要創建過程或函數來實現這一目標。如果沒有這個參數,你不能得到PK值AGENCY_ID(即1004)的結果,如果引用了那麼多次。

+0

感謝,@ doc123。因此,該過程將不得不循環遍歷FK表/列的數據字典並查看/比較值? – ukie