需要通过查询系统表user_constraints来获得外键名称。
创新互联专注为客户提供全方位的互联网综合服务,包含不限于成都网站制作、成都网站建设、外贸营销网站建设、金林网络推广、成都小程序开发、金林网络营销、金林企业策划、金林品牌公关、搜索引擎seo、人物专访、企业宣传片、企业代运营等,从售前售中售后,我们都将竭诚为您服务,您的肯定,是我们最大的嘉奖;创新互联为所有大学生创业者提供金林建站搭建服务,24小时服务热线:18980820575,官方网址:www.cdcxhl.com
例如,查询跟emp表相关的外键,可用如下语句:
select * from user_constraints where table_name='EMP';
查询结果:
其中红框部分即为外键名称。
查找表的所有索引(包括索引名 类型 构成列)
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 = 要查询的表
查找表的主键(包括名称 构成列)
select cu * from user_cons_columns cu user_constraints au where nstraint_name = nstraint_name and nstraint_type = P and au table_name = 要查询的表
查找表的唯一性约束(包括名称 构成列)
select column_name from user_cons_columns cu user_constraints au where nstraint_name = nstraint_name and nstraint_type = U and au table_name = 要查询的表
查找表的外键(包括名称 引用表的表名和对应的键名 下面是分成多步查询)
select * from user_constraints c where nstraint_type = R and c table_name = 要查询的表
查询外键约束的列名
select * from user_cons_columns cl where nstraint_name = 外键名称
查询引用表的键的列名
select * from user_cons_columns cl where nstraint_name = 外键引用表的键名
查询表的所有列及其属性
lishixinzhi/Article/program/Oracle/201311/17150
查找表的外键(包括名称,引用表的表名和对应的键名,下面是分成多步查询):
select
*
from
user_constraints
c
where
c.constraint_type
=
'r'
and
c.table_name
=
要查询的表
查询外键约束的列名:
select
*
from
user_cons_columns
cl
where
cl.constraint_name
=
外键名称
查询引用表的键的列名:
select
*
from
user_cons_columns
cl
where
cl.constraint_name
=
外键引用表的键名
查询表的所有列及其属性
select
t.*,c.comments
from
user_tab_columns
t,user_col_comments
c
where
t.table_name
=
c.table_name
and
t.column_name
=
c.column_name
and
t.table_name
=
要查询的表
查看表索引、主键、外键、约束
(包括索引名,类型,构成列)
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;
select * from user_constraints c where c.constraint_type = 'R' and c.table_name = 要查询的表 。
查询外键约束的列名: select * from user_cons_columns cl where cl.constraint_name = 外键名称
查询引用表的键的列名: select * from user_cons_columns cl where cl.constraint_name = 外键引用表的键名
查询表的所有列及其属性 select t.*,c.COMMENTS from user_tab_columns t,user_col_comments c where t.table_name = c.table_name and t.column_name = c.column_name and t.table_name = 要查询的表。
甲骨文股份有限公司(Oracle)是全球大型数据库软件公司,总部位于美国加州红木城的红木岸。在2008年,甲骨文股份有限公司是继Microsoft及IBM后,全球收入第三多的软件公司。
Oracle数据库产品为财富排行榜上的前1000家公司所采用,许多大型网站也选用了Oracle系统。甲骨文股份有限公司于1989年正式进入中国,在北京、上海、广州和成都均设立了分支机构。