最近,负责的一个项目出现查询出现异常。
从实施人员返回的异常信息里面看到,说是SQL语法缺少右括号。于是检查出错语句的地方。
把那个SQL语句复制到本地运行,直接查询得到结果(鉴于公司秘密,只能写出SQL语句格式)。
select A.STDNAME, A.STDCODE
from ((select STDCODE,STDNAME,ID from TABLE_A ) A)
left join (Select STDCODE,STDNAME,ID from TABLE_B ) B
on A.ID=B.ID
以上语句在Oracle 10g内可以正常编译、执行,但是在Oracle 9i版本中会出现“缺少右括号”语法异常、错误。
修改如下:
select A.STDNAME, A.STDCODE
from (select STDCODE,STDNAME,ID from TABLE_A ) A
left join (Select STDCODE,STDNAME,ID from TABLE_B ) B
on A.ID=B.ID
减少了一个括号,执行通过!
仅以此文记录!
至此结束,而关于Oracle 10g和Oracle9 i之间的版本差异而造成的括号问题异常,我没有继续深入追究下去,等以后有时间了,回头看见类似问题,抽空学习下!