ORACLE语句在Java代码中执行时报错:ORA-00911: 无效字符

 

 <!-- 根据指定的信息包递归查询所有子信息包 -->
    <sql-query name="queryChildInfoPacks">
    	<!-- DB2 -->
    	<!--
    	<![CDATA[
    		with temptab(pack_id, seq, name, eff_Date, exp_date, pack_level, parent_pack_id, sts, mean) as
			(
			  select pack_id, seq, name, eff_Date, exp_date, pack_level, parent_pack_id, sts, mean
			  from info_pack
			  where pack_id=:aaa
			  union all
			  select son.pack_id pack_id, son.seq seq, son.name name, son.eff_Date eff_date, son.exp_date exp_date, 
			  son.pack_level pack_level, son.parent_pack_id parent_pack_id, son.sts sts, son.mean mean
			  from info_pack son ,temptab parent
			  where son.parent_pack_id = parent.pack_id
			) select {a.*} from temptab a;
    	]]>
    	-->
    	
    	<!-- ORACLE -->
    	<![CDATA[
    		select {a.*} from info_pack a start with a.parent_pack_id=:aaa 
    		connect by prior a.pack_id=a.parent_pack_id

    	]]>
		<return alias="a" class="cn.com.samueli.cuv.pojos.InfoPack"/>
    </sql-query>

 

问题描述:

      上面的代码是在实际应用递归查询时,配置在Hibernate的POJO配置文件中的一个查询,DB2没有问题,而ORACLE语句在Java代码中执行时报错:ORA-00911: 无效字符?

原因分析:

      原因是在针对Oracle的SQL语句末尾加上了分号的缘故,去掉就OK了。对于DB2中不存在这个问题。

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值