我必须在Oracle上获取外键的表和列名称,有人可以确认以下语句吗?
SELECT a.table_name AS TableWithForeignKey, b.column_name AS ForeignKeyColumn
FROM user_constraints a INNER JOIN user_cons_columns b
ON (a.constraint_name = b.constraint_name) AND (a.table_name = b.table_name)
and a.constraint_type = 'R'
我不确定的部分是INNER JOIN部分(开启后):
(a.constraint_name = b.constraint_name) AND (a.table_name = b.table_name)
由于我找不到像constraints_ID这样的内容,这是否应该匹配来自两个表 user_constraints 和 user_cons_columns
的1:1行谢谢。
答案 0 :(得分:2)
我使用
a.constraint_name = b.constraint_name
用于加入2个视图 所以,我认为没关系