当先锋百科网

首页 1 2 3 4 5 6 7

oracle数据库 如何查询某个表的约束条件

我们可以使用下面语句从all_constraints视图中查看某表上的约束:

SELECT

constraint_name,

table_name,

r_owner,

r_constraint_name

FROM

all_constraints

WHERE

table_name

=

'table_name'

and

owner

=

'owner_name';

另一个视图ALL_CONS_COLUMNS也包括组成表上约束列的信息。

oracle唯一性约束的查询

不知道你有没有pl/sql。在pl/sql的sql window 里写上你这你这个表的表名,按住ctrl键再用鼠标点这个表名,就会出现关于这个表的信息窗然后点击‘key’这个选项卡就可以看到唯一键约束,主键约束,外键,点击check可以看到其他完整性约束的名

不用写语句也很直观

如何查看 约束 的具体内容 oracle

SELECT UC.OWNER,

       UC.CONSTRAINT_NAME,

       UC.CONSTRAINT_TYPE,

       UC.TABLE_NAME,

       UCC.COLUMN_NAME,

       UC.SEARCH_CONDITION,

       UC.R_CONSTRAINT_NAME

  FROM USER_CONSTRAINTS UC

 INNER JOIN USER_CONS_COLUMNS UCC

    ON (UC.CONSTRAINT_NAME = UCC.CONSTRAINT_NAME);

USER_CONSTRAINTS和 USER_CONS_COLUMNS视图关联一下。

CONSTRAINT_TYPE 的相关解释如下:

C - Check constraint on a table

P - Primary key

U - Unique key

R - Referential integrity

V - With check option, on a view

O - With read only, on a view

H - Hash expression

F - Constraint that involves a REF column

S - Supplemental logging

如果是check约束,那么在search_condition列能看到具体的内容。

如果是外键约束,通过R_CONSTRAINT_NAME 列能看到参考约束内容。

oracle怎么查看表中的约束

查询外键约束的列名:

select

*

from

user_cons_columns

cl

where

cl.constraint_name

=

外键名称

select

table_name,constraint_name,constraint_type

from

user_constraints

where

table_name='大写的表名'

select

table_name,constraint_name,constraint_type

from

dba_constraints

where

table_name='大写的表名'

---------另外以下可以只查看表中的索引

select

*

from

USER_INDEXES

where

table_name

=

'大写的表名'

select

*

from

ALL_INDEXes

where

table_name

=

'大写的表名'

我们可以使用下面语句从all_constraints视图中查看某表上的约束:

SELECT

constraint_name,

table_name,

r_owner,

r_constraint_name

FROM

all_constraints

WHERE

table_name

=

'table_name'

and

owner

=

'owner_name';

另一个视图ALL_CONS_COLUMNS也包括组成表上约束列的信息。

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

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

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

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 查看约束

查看表的约束条件有三个视图:

1、dba_constraints、all_constraints、user_constraints。

2、其中:dba_constraints视图需要DBA权限才能查询。

3、all_constraints、user_constraints普通用户查询。

扩展资料:

Oracle数据库使用约束(constraints)来防止无效的数据进入表中,保护数据的实体完整行约束定义在表级,如果表与表之间有从属关系,约束可以防止表的删除,通过约束字段,强制用户在插入更新和删除数据时必须遵循一定的规则。

约束定义语法: create table 表名(字段名 数据类型 约束类型) 或 create table 表名(字段名1 数据类型,字段名2,数据类型 constraints 约束别名 约束类型 (字段))