日期:2014-05-16  浏览次数:20418 次

Oracle外键存放等信息

1、查找表的所有索引(包括索引名,类型,构成列)

  select t.*,i.index_type from user_ind_columns t,user_indexes i where t.index_name = i.index_name and t.table_name = i.table_name and t.table_name = 要查询的表

  2、查找表的主键(包括名称,构成列)

  select cu.* from user_cons_columns cu, user_constraints au where cu.constraint_name = au.constraint_name and au.constraint_type = ‘P‘ and au.table_name = 要查询的表

  3、查找表的唯一性约束(包括名称,构成列)

  select column_name from user_cons_columns cu, user_constraints au where cu.constraint_name = au.constraint_name and au.constraint_type = ‘U‘ and au.table_name = 要查询的表

  4、查找表的外键(包括名称,引用表的表名和对应的键名,下面是分成多步查询)

  select * from user_constraints c where c.constraint_type = ‘R‘ and c.table_name = 要查询的表

  查询外键约束的列名

  select * from user_cons_columns cl where cl.constraint_name = 外键名称

  查询引用表的键的列名

  select * from user_cons_columns cl where cl.constraint_name = 外键引用表的键名

  5、查询表的所有列及其属性

  select t.*,c.COMMENTS from user_tab_columns t,user_col_comments c where t.table_name = c.table_name and t.column_name = c.column_name and t.table_name = 要查询的表 ......

6. 取得oracle中表的列名

关键字: oracle

查询dba_tab_columns??
如:??
select?? column_name????
from?? dba_tab_columns????
where?? owner=upper('xxx')????
and?? table_name=upper('yyy')??
;??
???
如果表名的区分大小写的话,注意表名用双引号,如:??
select?? column_name????
from?? dba_tab_columns????
where?? owner=upper('xxx')????
and?? table_name="MyTable"??