ORACLE 数据库(查询--主键外键约束)
来源:互联网 发布:马自达3星骋轮毂数据 编辑:程序博客网 时间:2024/05/16 16:59
-- 查询外键约束(查某表的所有父表)
select c.constraint_name,cc.column_name,rcc.owner,rcc.table_name,rcc.column_name
from user_constraints c,user_cons_columns cc,user_cons_columns rcc
where c.owner='SALIEN_SBGL'
and c.table_name='JH_NDGXLGJH_TB'
and c.constraint_type='R'
and c.owner=cc.owner
and c.constraint_name=cc.constraint_name
and c.r_owner=rcc.owner
and c.r_constraint_name=rcc.constraint_name
and cc.position=rcc.position
order by c.constraint_name,cc.position;
--查询连接到某表的所有外键(查某表的所有子表)
select rcc.owner,rcc.table_name,rcc.constraint_name,rcc.column_name,c.table_name,c.constraint_name,cc.column_name
from user_constraints c,user_cons_columns cc,user_cons_columns rcc
where lower(c.owner)='d7i'
and rcc.table_name='R5HOME'
and c.constraint_type='R'
and c.owner=cc.owner
and c.constraint_name=cc.constraint_name
and c.r_owner=rcc.owner
and c.r_constraint_name=rcc.constraint_name
and cc.position=rcc.position
order by c.constraint_name,cc.position
-- 查询主键唯一键约束
select c.constraint_name,c.constraint_type,cc.column_name
from user_constraints c,user_cons_columns cc
where c.owner='SALIEN_SBGL'
and c.table_name='JH_NDGXLGJH_TB'
and c.owner=cc.owner
and c.constraint_name=cc.constraint_name
and c.constraint_type in ('P','U')
order by c.constraint_type,c.constraint_name,cc.position;
在Oracle数据字典中查看约束信息 收藏
1、我们创建的对象可以从"USER_"开通的视图中查看。如果在模式中创建了10张表,那么从USER_TABLES中查询将返回10行,每一行是关于一张表的特性信息
USER_TABLES不能查看非当前用户模式下创建的表。
ALL_TABLES视图不但显示当前用户模式下创建的表,而且显示授权能够访问的表信息
我们关心的视图以下列前缀命名:
·USER_ 当前用户模式下创建的对象
·ALL_ 当前用户模式下创建的对象加上当前用户能访问的其他用户创建的对象。ALL视图常常包含一个"OWNER"列,反映出能够访问的对象的所有者。在USER_TABLES表中不能看到OWNER列是因为你就是在这个视图中所有表的所有者;在ALL_TABLES中有一个OWNER字段。
·DBA_ 它提供了整个数据库的信息。包括数据库中所有表的名字和拥有者——包括SYS模式下的基本表
这些前缀在限制我们想看到的、需要看到的、应当被允许看到的范围上是一个帮助。查看当前模式下创建的表,查询USER_TABLES;
查看所有我们创建的表以及被授权可以从其他用户模式下访问的表,查询ALL_TABLES;
具有DBA或SELECT_CATALOG_ROLE角色的用户可以查询DBA_TABLES来查询数据库中所有表的列表;
不是所有视图下都有一个USER、ALL、和DBA前缀,有一些视图仅存在于dba视图范围。比如:DBA_DATA_FILES。
在开发环境中有时会访问DBA视图,允许开发人员探究Oracle数据字典是没有害处的。你可以在不拥有DBA角色的情况下获得这个权限。一般,把CONNECT和RESOURCE角色给应用开发者,他不能访问这些,你可以把SELECT ANY TABLE权限或SELECT_CATALOG角色赋给一个用户,这样他将被允许访问整个数据字典。
一个人对数据字典理解的越多,越能接触到数据库中复杂的操作,越能对SQL语句优化敏感。
2、数据字典视图:概要
在数据字典视图中有一些隐含的关系。发现这些关系常常是使用SQL查询对数据字典验证的结果,幸运的是,在数据字典中有许多使用名称的特征。
例如:USER_TABLES表中每一个表包含一个单独的行。每一行包含一张表的详细信息,比如表的物理存储参数。这些数据提供的扩展信息告诉你表是怎么增长的。
USER_TAB_COLUMNS视图中在USER_TABLES表中的每一张表的每一行包含一条记录。如果一张表有10个字段,那么,你将在USER_TAB_COLUMNS表中找到10行记录,是关于每一字段的详细信息。比如字段数据类型。字段名TABLE_NAME在USER_TABLE 和USER_TAB_COLUMNS表中都有,因此可以很容易的把他们连接起来。
USER_OBJECTS 用户对象视图
ALL_OBJECTS 所有对象视图
DBA_OBJECTS DBA对象视图
USER_SEQUENCES 用户序列对象视图,在USER_SEQUENCES的记录也会出现在USER_OBJECTS表中
3、约束视图
有两个数据字典视图提供了约束的详细信息。USER_CONSTRAINTS和USER_CONS_COLUMNS.
一张表可能有也可能没有约束,对于一张表的每一个约束在USER_CONSTRAINTS中都有一条记录描述这个约束。包括约束应用到的表名称。如果你知道约束名想知道约束类型,查询USER_CONSTRAINTS表。这个视图描述了约束的定义。它不提供约束定义在哪些字段名称上。
在USER_CONS_COLUMNS视图中显示约束的字段名称。如果主键是个联合主键,这个视图中将有这个约束的两条记录。联合主键的每一个字段对应一条记录。每一条记录通过POSITION(在联合主键中的位置)来区别。
USER_CONSTRAINTS 和USER_CONS_COLUMNS都有字段CONSTRAINT_NAME 和TABLE_NAME.
---------------------------------------------------------------------
USER_CONSTRAINTS USER_CONST_COLUMNS
---------------------------------------------------------------------
CONSTRAINT_NAME CONSTRAINT_NAME
CONSTRAINT_TYPE TABLE_NAME
TABLE_NAME COLUMN_NAME
POSITION
----------------------------------------------------------------------
- ORACLE 数据库(查询--主键外键约束)
- oracle数据库中的查询主键外键的约束
- Oracle中如何创建约束,查询约束和删除约束(check约束,外键和主键约束)
- oracle主键外键约束
- Oracle-主键约束、唯一约束与外键约束
- Oracle-主键约束、唯一约束与外键约束
- Oracle-主键约束、唯一约束与外键约束
- 数据库-主键和外键及其约束
- ORACLE数据库查询表的基本信息,主键,外键等
- oracle常用命令--创建表之create命令(包含主键约束,外键约束)
- 对oracle数据库中表添加主键约束
- 44、Oracle数据库设计(定义约束 外键约束)
- 主键约束, 外键约束, 其他约束
- oracle中查询表的信息,包括表名,字段名,字段类型,主键,外键唯一性约束信息
- 第五章、数据库设计(三范式、主键约束 primary key、外键约束 foreign key、唯一约束unique 、CHECK约束)
- Oracle主键外键 约束的 创建,添加和删除
- Oracle主键外键 约束的 创建,添加和删除
- Oracle外键约束信息的查询
- cygwin很多命令显示command not found的解决办法
- 2754:八皇后(百练)——2
- ARM的BUS Matrix的作用
- vim修改化定制
- OpenSUSE12.1硬盘安装
- ORACLE 数据库(查询--主键外键约束)
- 测试
- naoqi摄像头的调用程序(基于naosim模拟器)
- android优化实战(一)-从递归到迭代
- poj 3278( 搜索 )
- php小知识 - 开启短标记支持
- VAVA:那些年,我们一起追过的ZERO
- 输入一个正数n,输出所有和为n连续正数序列
- 【记录】主界面