本文介紹了如何在Oracle中找到指向一條記錄的外鍵依賴項?的處理方法,對大家解決問題具有一定的參考價值,需要的朋友們下面隨著小編來一起學習吧!
問題描述
我有一個非常大的Oracle數據庫,有許多表和數百萬行。我需要刪除其中的一個,但希望確保刪除它不會破壞指向它作為外鍵記錄的任何其他依賴行。有沒有辦法獲得指向此行的所有其他記錄的列表,或者至少是表模式?我知道我可以嘗試自己刪除它,然后捕獲異常,但我不會自己運行腳本,需要它第一次干凈地運行。
我可以隨心所欲地使用Oracle的SQL Developer和AllRoundAutomations的PL/SQL Developer。
提前謝謝!
推薦答案
我總是查看開始表的外鍵,然后返回。數據庫工具通常有一個依賴項或約束節點。我知道PL/SQL Developer有辦法查看FK,但我已經有一段時間沒有使用它了,所以我無法解釋…
只需將XXXXXXXXXX替換為表名…
/* The following query lists all relationships */
select
a.owner||'.'||a.table_name "Referenced Table"
,b.owner||'.'||b.table_name "Referenced by"
,b.constraint_name "Foreign Key"
from all_constraints a, all_constraints b
where
b.constraint_type = 'R'
and a.constraint_name = b.r_constraint_name
and b.table_name='XXXXXXXXXXXX' -- Table name
order by a.owner||'.'||a.table_name
這篇關于如何在Oracle中找到指向一條記錄的外鍵依賴項?的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,