Fro*_*y Z 10 oracle foreign-key query
我正在寻找一个查询,允许检索整个模式的外键信息(每行:引用表和字段、引用表和字段)。
我找到了这个,但没有提供我需要的所有信息:https : //stackoverflow.com/questions/4389228/sql-for-oracle-to-check-if-a-constraint-exists
我目前正在研究它,可能会在接下来的几分钟/几小时内得到解决方案。但是如果有人已经有了完整的工作解决方案,我会很高兴知道它:)
Fro*_*y Z 15
在打开表的设计表窗口时,对Navicat工具所做的查询进行一些“逆向工程”后(检索历史窗口中显示的外键信息的查询),这里是一个解决方案:
SELECT
CONS.CONSTRAINT_NAME,
CONS.TABLE_NAME,
COLS.COLUMN_NAME,
CONS.R_CONSTRAINT_NAME,
CONS_R.TABLE_NAME R_TABLE_NAME,
COLS_R.COLUMN_NAME R_COLUMN_NAME
FROM USER_CONSTRAINTS CONS
LEFT JOIN USER_CONS_COLUMNS COLS ON COLS.CONSTRAINT_NAME = CONS.CONSTRAINT_NAME
LEFT JOIN USER_CONSTRAINTS CONS_R ON CONS_R.CONSTRAINT_NAME = CONS.R_CONSTRAINT_NAME
LEFT JOIN USER_CONS_COLUMNS COLS_R ON COLS_R.CONSTRAINT_NAME = CONS.R_CONSTRAINT_NAME
-- returns only foreign key constraints
WHERE CONS.CONSTRAINT_TYPE = 'R'
ORDER BY CONS.TABLE_NAME, COLS.COLUMN_NAME
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
30832 次 |
最近记录: |