Oracle 一些报错

oracle 删除数据时遇到问题: ORA-02292: integrity constraint (用户名.约束名) violated - child record found

参考 ORA-02292: integrity constraint (BLDBANK.F_YXDH) violated - child record found

解决办法:

1、  找出父表(需要删除表数据的表)所属用户,然后用此用户登录数据库(若已经使用此用户登录则省略此部)

select * from all_tables where table_name=upper('t_parent') ;   t_parent是父表、要删除数据的表 

2、  根据约束名查找子表(引用父表字段作为外键的表)

 select * from user_constraints e where e.constraint_name='FK_PARENT' ;  FK_PARENT是报错时的约束名

3、  根据条件将子表中的数据删除,然后再删除父表中的记录

 
oracle 插入数据时遇到问题 ORA-00001: unique constraint (XX.SYS_C0011222) violated  违反唯一约束条件

参考 ORA-00001: unique constraint (XX.SYS_C0011222) violated 违反唯一约束条件

正确顺序应该是:
1)先创建表
2)录入已有数据
3)通过SELECT seq_tq_auth_rule.nextval FROM dual;查看下一个id是多少
4)创建Sequence,将START WITH 值改成下一个ID值

或者如果已经创建了sequence,已经创建表,已经录了已有数据,

可以通过循环执行SELECT seq_tq_auth_rule.nextval FROM dual,使它的nextval大于已有的最大id

oracle group by 报错:[Err] ORA-00979: not a GROUP BY expression 
原因:出现在select列表中的字段,如果没有在组函数中,那么必须出现在group by 子句中
解决:可以把需要查询的列 放入group by子句中,或者把需要查询的列 放入聚合函数中,比如max(t_table_column)
使用order by排序时order by子句置于group by 之后 并且 order by 子句的排序标准不能出现在select查询之外的列
mysql group by 
在mysql中没有强调select指定的字段必须属于group by后的条件,
如果select出来的字段在group by 后面没有,则会随机取出来一个值,这样查询出来的数据不准确
 

Oracle 数据库数据类型,Number(10,2)  允许10位NUMBER类型数据,允许有8位整数,小数点后2位小数

value larger than specified precision allowed for this column ,有可能就是这个原因

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值