怎么查询外键关系?

chang_harry 2010-11-22 10:14:57
想删除某个表PRODUCT,但是报错:其他表对其某个字段PRODUCT.id有外键关系。
可能有好多表对其有外键关系。
已知表PRODUCT,怎么查询出其他和它有外键关系的表?

网上找了一个SQL,但执行查不到数据。
select a.constraint_name 外键名, a.table_name 外键表, b.constraint_name 主键名, b.table_name 关联主键表
from user_constraints a, user_constraints b
where b.table_name='PRODUCT' and a.constraint_type = 'R' and b.constraint_type = 'P' and a.r_constraint_name = b.constraint_name
...全文
100 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
chang_harry 2010-11-22
  • 打赏
  • 举报
回复
行了。all_constraints可以。谢谢YY_MM_DD,受教了!分都给你。
gelyon 2010-11-22
  • 打赏
  • 举报
回复
不会啊 我都行
YY_MM_DD 2010-11-22
  • 打赏
  • 举报
回复

--------这样查下看有数据库没有呢?注意到product所在的用户下面去查找
select a.constraint_name 外键名,
a.table_name 外键表,
b.constraint_name 主键名,
b.table_name 关联主键表
from all_constraints a, all_constraints b
where b.table_name = 'PRODUCT'
/* and a.constraint_type = 'R'
and b.constraint_type = 'P'*/
and a.r_constraint_name = b.constraint_name

17,377

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 基础和管理
社区管理员
  • 基础和管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧