我要删除主表的一行数据,但提示有外键约束,我怎么根据提示找到该外键对应的字表,我想先删除该行数据对应的子表数据,再删除主表数据,怎么根据提示找到字表。

解决方案 »

  1.   

    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、查找出相应的表及列 根据外键编码 删除外键表数据  然后再删除主表数据
      

  2.   

    显示外键表及外键约束名称
    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