クエリを使用して、Oracle の別のテーブルへの外部キーを持つすべてのテーブルを取得する方法はありますか?
34729 次
3 に答える
21
ここに答えのある良い記事があります:
select owner,constraint_name,constraint_type,table_name,r_owner,r_constraint_name
from all_constraints
where constraint_type='R'
and r_constraint_name in (select constraint_name from all_constraints
where constraint_type in ('P','U') and table_name='TABLE_NAME');
于 2009-04-08T19:20:44.720 に答える
1
親テーブルと子テーブルの両方が同じスキーマにあると仮定すると、次のようになります。
select t1.table_name child_table, t1.constraint_name, t2.table_name parent_table
from user_constraints t1, user_constraints t2
where t1.r_constraint_name = t2.constraint_name
r_constraint_name は FK (タイプ 'R') 制約に対してのみ入力されるため、自己結合は関心のある情報のみを返すことに注意してください。
于 2009-04-08T19:56:24.073 に答える
0
親キーがわかっている場合は、従業員テーブルで juan の回答を変更しただけです
select *
from user_constraints
where R_CONSTRAINT_NAME='EMP_EMP_ID_PK'
and constraint_type='R'
于 2016-07-24T06:32:06.890 に答える