小编最近在使用oracle,新手上路,遇到了一些问题,将我遇到的问题及解决方法分享一下。
1、ora01789 查询块具有不正确的结果列数
在用union all拼接sql的时候遇到了ora01789 查询块具有不正确的结果列数的问题。两页的sql语句,用plsql格式化以后,一下子就简洁了,虽然多(7页),但是很容易看出来哪里有问题。
问题原因:sql语句用union时的 两个语句查询的字段不一致
解决方法:将每个sql语句的字段保持一致,并且顺序也要一致。
2、ora-00937:不是单组分组函数
问题原因:如果查询字段中有sum、count类似的聚合函数 那么其他字段必须要在group by 中出现
解决方法:在查询后加上group by **(某字段)
3、ORA-00001: 违反唯一约束条件
问题原因:主键冲突
解决方法:保持主键的数据不重复