Oracle 查询语句括号应用小札

本文介绍了一种在不同版本的Oracle数据库中执行相同SQL语句时遇到的异常情况,具体表现为在Oracle 9i中因多出的括号而导致的语法错误。通过对SQL语句进行调整,成功解决了这一问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近,负责的一个项目出现查询出现异常。

从实施人员返回的异常信息里面看到,说是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之间的版本差异而造成的括号问题异常,我没有继续深入追究下去,等以后有时间了,回头看见类似问题,抽空学习下!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值