oracle中怎么看外键 oracle查询表外键

oracle怎么查看外键在哪个表

有时候删除某张表记录的时候,会报错外键约束不能删除。

公司主营业务:成都网站设计、网站建设、外贸网站建设、移动网站开发等业务。帮助企业客户真正实现互联网宣传,提高企业的竞争能力。创新互联公司是一支青春激扬、勤奋敬业、活力青春激扬、勤奋敬业、活力澎湃、和谐高效的团队。公司秉承以“开放、自由、严谨、自律”为核心的企业文化,感谢他们对我们的高要求,感谢他们从不同领域给我们带来的挑战,让我们激情的团队有机会用头脑与智慧不断的给客户带来惊喜。创新互联公司推出容城免费做网站回馈大家。

如果不了解表之间的关系,可以通过以下语句查询到外键是建在哪张表上的:

select * from dba_constraints where constraint_name='xxx' and constraint_type = 'R';

例如:我的程序日志中报如下错误,我要知道外键是在那个表上.

2015-09-08

18:28:18 [ main:261597003 ] - [ ERROR ] java.sql.SQLException:

ORA-02291: 违反完整约束条件 (IRP.FK66EC57AF5158B9FB) - 未找到父项关键字

select * from dba_constraints where constraint_name='FK66EC57AF5158B9FB' and constraint_type = 'R';

例如:

执行delete from tablename时报错:

ORA-02292: integrity constraint (CCSYS.FK_T_BME_TASKRUNRESULT_TASKID) violated - child record found

可以通过执行

select table_name from dba_constraints where constraint_name='FK_T_BME_TASKRUNRESULT_TASKID' and constraint_type = 'R';

查询出外键是建在T_BME_TASKRUNRESULT表上的,先把T_BME_TASKRUNRESULT表删除,就可以删除 t_bme_task表记录了。

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中查询表之间外键的执行语句怎么写?

查找表的外键(包括名称,引用表的表名和对应的键名,下面是分成多步查询): \x0d\x0a\x0d\x0aselect * from user_constraints c where c.constraint_type = 'R' and c.table_name = 要查询的表 \x0d\x0a\x0d\x0a查询外键约束的列名: \x0d\x0a\x0d\x0aselect * from user_cons_columns cl where cl.constraint_name = 外键名称 \x0d\x0a\x0d\x0a查询引用表的键的列名: \x0d\x0a\x0d\x0aselect * from user_cons_columns cl where cl.constraint_name = 外键引用表的键名 \x0d\x0a\x0d\x0a查询表的所有列及其属性 \x0d\x0a\x0d\x0aselect 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中查询所有用户表的表名、主键名称、索引、外键等

1、查找表的所有索引(包括索引名,类型,构成列):

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

=

要查询的表

2、查找表的主键(包括名称,构成列):

select

cu.*

from

user_cons_columns

cu,

user_constraints

au

where

cu.constraint_name

=

au.constraint_name

and

au.constraint_type

=

'P'

and

au.table_name

=

要查询的表

3、查找表的唯一性约束(包括名称,构成列):

select

column_name

from

user_cons_columns

cu,

user_constraints

au

where

cu.constraint_name

=

au.constraint_name

and

au.constraint_type

=

'U'

and

au.table_name

=

要查询的表

4、查找表的外键(包括名称,引用表的表名和对应的键名,下面是分成多步查询):

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

=

外键引用表的键名

5、查询表的所有列及其属性

怎么查看oracle数据库数据表外键

select distinct(ucc.column_name) column_name,rela.table_name,rela.column_name column_name1

from

user_constraints uc,user_cons_columns ucc,

(select t2.table_name,t2.column_name,t1.r_constraint_name from user_constraints t1,user_cons_columns t2 where t1.r_constraint_name=t2.constraint_name and t1.table_name='ONLINEXLS') rela

where

uc.constraint_name=ucc.constraint_name

and uc.r_constraint_name=rela.r_constraint_name

and uc.table_name='PRODUCT'

本文题目:oracle中怎么看外键 oracle查询表外键
新闻来源:https://www.cdcxhl.com/article46/hhijhg.html

成都网站建设公司_创新互联,为您提供虚拟主机域名注册搜索引擎优化标签优化定制网站定制开发

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联

成都seo排名网站优化