怎么根据提示查询到主表对应的子表

JasonBrody 2011-08-01 12:11:29
我要删除主表的一行数据,但提示有外键约束,我怎么根据提示找到该外键对应的字表,我想先删除该行数据对应的子表数据,再删除主表数据,怎么根据提示找到字表。
...全文
166 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
JasonBrody 2011-08-01
  • 打赏
  • 举报
回复
我现在知道主表的主键,不知道子表和外键,怎么根据提示找到字表和外键?
caoleione 2011-08-01
  • 打赏
  • 举报
回复
1、通过下面SQL语句查询外键对应的表及字段 P代表主键 R代表外键
select a.constraint_name, a.table_name, b.constraint_name
from user_constraints a, user_constraints b
where a.constraint_type = 'R'
and b.constraint_type = 'P'
and a.r_constraint_name = b.constraint_name

2、查找出相应的表及列 根据外键编码 删除外键表数据 然后再删除主表数据
JasonBrody 2011-08-01
  • 打赏
  • 举报
回复
P和R 是主键的字段名字还是什么?
caoleione 2011-08-01
  • 打赏
  • 举报
回复
显示外键表及外键约束名称
select a.*
from user_constraints a, user_constraints b
where a.constraint_type = 'R'
and b.constraint_type = 'P'
and b.table_name='主表名称'
and a.r_constraint_name = b.constraint_name

3,499

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 高级技术相关讨论专区
社区管理员
  • 高级技术社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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