在有union all的子查询中使用了order by会导致oracle缺失右括号号的错误,事实上在有union all的子查询中根本没必要进行排序因为联合之后又组成了一个新的集合,之前的排序对新集合而言没什麼用直接查询联合之后的新集合然后再进行排序即可。
此种情况跟1中描绘的有些类似首先在in(子查询)用法使用order by 会报错,其次子查詢里用order by,纯属多此一举子查询的目的,只是找出合适的数据如果需要排序,在外边排即可
解决方案如下:
给对应的关键字加上双引号
主外键类型不完全一致时也会报oracle缺失右括号号的错误
在查询时引发oracle缺失右括号号錯误的原因大多数在于查询语句中有关于日期的转化、过滤很多时候都是因为关于日期类型的转化少了单引号。
还有一种情况就是在where过濾中进行时间的转化时有时候在sql/plus中直接执行没问题,但是在程序中却会出现错误
该语句在数据库直接执行是没问题的,但是在程序中執行传入日期参数时有时会报oracle缺失右括号号的错误为了解决这个问题,我们可以改变传入的日期参数的格式如下:
还有一种关于oracle日期格式的错误是:ORA-01840: 输入值对于日期格式不够长
为了解决这个问题,我们也可以用改变传入的日期参数的格式来解决,如下:
如果在创建表时,表字段名全部是大写则不存在此问题
版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。