Oracle 查询表名和列名以及所有外键

分享一下我老师大神的人工智能教程吧。零基础,通俗易懂!风趣幽默!http://www.captainbed.net/

也欢迎大家转载本篇文章。分享知识,造福人民,实现我们中华民族伟大复兴!

               

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' 

对应结果:




           

给我老师的人工智能教程打call!http://www.captainbed.net/

这里写图片描述

猜你喜欢

转载自blog.csdn.net/qq_43724942/article/details/84297688