查看表索引、主键、外键、约束
(包括索引名,类型,构成列)
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' ----指定表
(包括名称,构成列)
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' -----指定表名
(包括表名称,构成列)
SELECT CU.COLUMN_NAME,AU.TABLE_NAME
AND AU.CONSTRAINT_TYPE = 'U'
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;
我们可以使用下面语句从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也包括组成表上约束列的信息.
甲骨文股份有限公司(NASDAQ:ORCL,Oracle)是全球大型数据库软件公司.总部位于美国加州红木城的红木岸(Redwood Shores),现时首席执行官为公司创办人劳伦斯-埃里森(Lawrence J. Ellison).
查看表的约束条件有三个视图:
①.、dba_constraints、all_constraints、user_constraints.
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 列能看到参考约束内容.
我们可以使用下面语句从all_constraints视图中查看某表上的约束:
SELECT
constraint_name,
table_name,
r_owner,
r_constraint_name
FROM
all_constraints
WHERE
table_name
=
'table_name'
and
owner
'owner_name';
以上就是土嘎嘎小编为大家整理的oracle如何查约束相关主题介绍,如果您觉得小编更新的文章只要能对粉丝们有用,就是我们最大的鼓励和动力,不要忘记讲本站分享给您身边的朋友哦!!