我必须获取 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 部分(ON 之后):
(a.constraint_name = b.constraint_name) AND (a.table_name = b.table_name)
因为我找不到像 constraints_ID 这样的东西,这是否足以匹配 user_constraints 和 user_cons_columns 两个表中的 1:1 行
谢谢。
最佳答案
我用
a.constraint_name = b.constraint_name
用于连接 2 个 View 所以,我觉得还可以
关于database - Oracle 中的约束/外键信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8444118/