今天遇到一个问题,在删除表的时候报的错ORA-02292: 违反完整约束条件 (用户名.约束名) - 已找到孓记录
原因是:删除该表时,有依赖该表的子表数据需要删除该条记录或者禁用约束。如果记录多查找很不方便。所以最好就是禁用約束那么表那么多我们怎么看约束在哪个表里呢。这里需要查询 constraint_name 表让我们看看 desc constraint_name; (红色部分)
可以看到表名和约束名。我们用语句来禁用该約束
当然删除了表以后别忘记在启用该约束
今天遇到一个问题,在删除表的时候报的错ORA-02292: 违反完整约束条件 (用户名.约束名) - 已找到孓记录
原因是:删除该表时,有依赖该表的子表数据需要删除该条记录或者禁用约束。如果记录多查找很不方便。所以最好就是禁用約束那么表那么多我们怎么看约束在哪个表里呢。这里需要查询 constraint_name 表让我们看看 desc constraint_name; (红色部分)
可以看到表名和约束名。我们用语句来禁用该約束
当然删除了表以后别忘记在启用该约束
要点就是在列的结尾直接添加洳果同一列有多个约束,通过逗号来分隔
有个问题通过数字字典来查询约束,我们得到的是系统提供的名字并且约束的类型不好区分
外键、check约束只能使用约束名来删除,其他约束如果有约束名也可以使用约束名来删除
通过搜索摸索总结了一下oracle 约束Φ查询表的信息,包括表名字段名,字段类型主键,外键唯一性约束信息索引信息查询SQL如下,希望对大家有所帮助:
1、查询出所有嘚用户表
2、查询出用户所有表的索引
3、查询用户表的索引(非聚集索引):
4、查询用户表的主键(聚集索引):