1.查询所有表
select table_name,tablespace_name,temporary from user_tables [where table_name=表名]
2.查询所有列名
select column_name,data_type ,data_length,data_precision,data_scale,table_name from user_tab_columns [where table_name=列名];
3.查询所有外键
select * from user_constraints a where a.constraint_type = 'R' [and a.table_name = 表名 ]
4.根据外键名称获取 约束表 和 约束列
select * from user_cons_columns b where b.constraint_name = {a.constraint_name}
说明:{a.constraint_name} 是从上面3中查询果中获取的外键名称
5.根据外键引用表的键名 获取 参照表 和 参照列
select * from user_cons_columns c where b.constraint_name = {a.r_constraint_name}
说明:{a.r_constraint_name} 是从上面3中查询果中获取的参照key名称
6.整合后查询
select b.constraint_name 外键名称, b.table_name 约束表, b.column_name 约束列,c.table_name as 参照表,c.column_name 参照列,a.delete_rule 删除级联
from user_constraints a
left join user_cons_columns b on a.constraint_name = b.constraint_name
left join user_cons_columns c on a.r_constraint_name = c.constraint_name
where a.constraint_type = 'R' and a.table_name = 'ACT_RU_TASK'
对应结果: