加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

Oracle Constraint_type,约束类型

(2011-11-21 23:10:02)
标签:

oracle

外键

约束

分类: Oracle

select distinct constraint_type from dba_constraints;

 

Type Code

Type Description

Acts On Level

C

Check on a table

Column

O

Read Only on a view

Object

P

Primary Key

Object

R

Referential AKA Foreign Key

Column

U

Unique Key

Column

V

Check Option on a view

Object

 

SELECT * FROM all_CONSTRAINTS where owner='SCOTT'

all_tab_cols显示所有列,当然也包含隐藏列。
all_tab_columns不显示隐藏列。来源于all_tab_cols;

查询字段,表的描述------------------------------------------

select * from all_col_comments where LOWER(TABLE_NAME)='all_constraints'

SELECT * FROM ALL_TAB_COMMENTS WHERE OWNER='SCOTT'
 

外键约束也称为主键完整性约束。它使用一列或多列作为外键,建立了此外键与同一张表或者另一张表的主键之间的关系。要确定一张数据表的外键,其他被引用的表及其主键必须已经存在。虽然外键与被引用的主键列不需要具有相同的名称,但是外键值必须与父表的主键值相匹配,或者外键值是空值。
查看一个表对应的主键和外键的约束关系=============查看引用其它表的情况=========

select A.owner 原表拥有者,A.table_name 原表,A.constraint_name 约束名称
,A.constraint_type 约束类型,B.column_name 原表约束字段
,A.delete_rule 删除级联
,A.R_OWNER 引用表拥有者
,A.R_CONSTRAINT_NAME 引用约束名称
,AA.table_name 引用表
,BB.column_name 引用列
from all_constraints A
inner join all_cons_columns B
     on A.constraint_name=B.constraint_name and A.table_name=B.table_name
left join all_constraints AA
     on A.r_constraint_name=AA.constraint_name
left join all_cons_columns BB
     on AA.constraint_name=BB.constraint_name and AA.table_name=BB.table_name
where A. owner='IUFO'
and A.table_name='IUFO_MEASURE'
--and A.CONSTRAINT_TYPE='R'

========================================================================== 

 

=====查看被引用的情况===========================================

select A.constraint_name 被引用的约束名
       ,A.TABLE_NAME 被引用的表
       ,A.COLUMN_NAME 被引用约束字段
       ,B.CONSTRAINT_NAME 约束名称
       ,B.TABLE_NAME 约束表
       ,AA.COLUMN_NAME 引用子段
from all_cons_columns A
left join all_constraints B
     on B.R_CONSTRAINT_NAME=A.CONSTRAINT_NAME
left join all_cons_columns AA
     on B.CONSTRAINT_NAME=AA.CONSTRAINT_NAME and B.R_OWNER=AA.OWNER
where  A.table_name='IUFO_MEASURE_PUBDATA'
and B.CONSTRAINT_TYPE='R'

================================================================

所有表的记录数--------------------

select owner,table_name,num_rows from all_tables where owner='SCOTT'

 

0

阅读 收藏 喜欢 打印举报/Report
前一篇:中文乱码
后一篇:脚本
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有