Oracle查看表索引、主键、外键、约束

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Oracle查看表索引、主键、外键、约束相关的知识,希望对你有一定的参考价值。

参考技术A 查看表索引、主键、外键、约束

(包括索引名,类型,构成列)

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 = 'ORG_DLF' ----指定表
AND T.TABLE_OWNER= 'ODSRPT_SIT2'; ----指定用户

(包括名称,构成列)
SELECT CU.*
FROM DBA_CONS_COLUMNS CU, DBA_CONSTRAINTS AU
WHERE CU.CONSTRAINT_NAME = AU.CONSTRAINT_NAME
AND AU.CONSTRAINT_TYPE = 'P'
AND AU.TABLE_NAME = 'LOAN_APPLICATION_FEE' -----指定表名
AND CU.OWNER='ODSRPT_SIT2'; -----指定用户名

(包括表名称,构成列)

SELECT CU.COLUMN_NAME,AU.TABLE_NAME
FROM DBA_CONS_COLUMNS CU, DBA_CONSTRAINTS AU
WHERE CU.CONSTRAINT_NAME = AU.CONSTRAINT_NAME
AND AU.CONSTRAINT_TYPE = 'U'
AND AU.OWNER='RPT_UAT2' -----指定用户名
AND AU.TABLE_NAME = 表名 ; -----指定表名

Select a.Owner 外键拥有者,
    a.Table_Name 外键表,
    c.Column_Name 外键列,
    b.Owner 主键拥有者,
    b.Table_Name 主键表,
    d.Column_Name 主键列,
    c.Constraint_Name 外键名,
    d.Constraint_Name 主键名
From User_Constraints a,
   user_Constraints b,
   user_Cons_Columns c, --外键表
   user_Cons_Columns d --主键表  
Where a.r_Constraint_Name = b.Constraint_Name   
  And a.Constraint_Type = 'R'   
  And b.Constraint_Type = 'P'   
  And a.r_Owner = b.Owner   
  And a.Constraint_Name = c.Constraint_Name   
  And b.Constraint_Name = d.Constraint_Name   
  And a.Owner = c.Owner   
  And a.Table_Name = c.Table_Name   
  And b.Owner = d.Owner   
  And b.Table_Name = d.Table_Name;

Oracle数据库,非空约束主键约束外键约束唯一约束

非空约束:设置列时,可为空默认可为空,去掉对号之后设置数据不可为空;

 

唯一约束:在键中设置,唯一约束名称、类型Unique、列名;设置应用完成之后,此列数据具有唯一性;即数据不可重复(类型:Unique)

 

主键约束:主键列自动具有非空约束和唯一约束的属性,一个表只能有一个主键(类型:Primary)自动生成索引,提高查询效率

 

外键约束:两个表之间的约束关系;表与表之间的对应(类型:Foreign)

 

以上是关于Oracle查看表索引、主键、外键、约束的主要内容,如果未能解决你的问题,请参考以下文章

ORACLE: 查询(看)表的主键外键唯一性约束和索引

Oracle中主键外键索引序列唯一性约束的创建

Oracle外键需要建索引吗?

Oracle数据库,非空约束主键约束外键约束唯一约束

[Oracle]约束(constraint)

怎样在oracle中创建主外键和唯一约束