<!-- 根据指定的信息包递归查询所有子信息包 -->
<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中不存在这个问题。
分享到:
相关推荐
在Oracle数据库系统中,"ORA-01036:非法的变量名/编号"是一个常见的错误,通常出现在PL/SQL代码或者SQL查询语句中,当你尝试使用一个不正确或者未定义的变量时,Oracle数据库会抛出这个错误。这个错误可能是由于...
在Oracle数据库中,CLOB(Character Large Object)字段类型用于存储大量的文本数据,如XML文档、长篇文章或者大量字符数据。然而,当你尝试向CLOB字段插入数据时,如果超过了Oracle规定的最大限制,就会遇到“ORA-...
这种错误通常是由于开发者在编写 CASE 语句时,忘记了某个分支语句,导致 Oracle 无法执行 CASE 语句。解决这个错误的方法是,检查 CASE 语句中的分支语句是否正确,确保分支语句存在于 CASE 语句中。 ORA-06531: ...
在Oracle数据库中,"ORA-00904"是一个常见的错误代码,它表示尝试引用一个不存在或无效的标识符。在这个场景下,错误信息提到的是"WM_CONCAT"函数,这表明在Oracle 19c数据库环境中,用户尝试使用WM_CONCAT函数,但...
在Oracle数据库中,"ORA-00904"是一个常见的错误代码,它表示尝试引用一个不存在或无效的标识符。在这种情况下,错误是针对"WMSYS.WM_CONCAT"函数的,这是一个在某些Oracle版本中提供的聚合函数,用于字符串连接。...
- **ORA-00911:无效字符**:检查SQL语句中的字符是否合法,特别是字符串常量的引号。 4. 预防措施 - **定期备份**:定期进行数据库备份,以防数据丢失。 - **性能监控**:通过工具如DBA_HIST views监控数据库...
然而,在日常运维过程中,我们可能会遇到各种各样的错误代码,这些错误代码通常以“ORA-”开头,表示Oracle数据库在执行操作时遇到了问题。"ORA 错误全集 全部 ora0000-ora32999"是一个非常实用的资源,它包含了从...
ORA-00911: 无效字符; 这种情况经常是因为我sql语句后面多加了一个 “;” Oracle 报错ORA-00904: 标识符无效 ,但是列名和表名没有写错 一般情况下,标识符错误是因为:语句中的列名在表中不存在,修改sql语句或者...
"ORA-00911: invalid character"是Oracle数据库返回的一个错误代码,表示在SQL语句中遇到了一个无效的字符。这个错误通常意味着SQL语句中包含了一个数据库不识别或者不允许的字符。在Mybatis中,这个问题可能由多种...
- **场景示例**:在执行预期返回单一结果的SELECT INTO语句时,若结果集中包含多行数据,将引发此异常。 #### 20. VALUE_ERROR - **异常描述**:赋值操作中,目标变量长度不足以容纳数据时触发。 - **错误代码**:...
在Java中,当我们需要通过JDBC(Java Database Connectivity)接口与Oracle数据库交互时,处理CLOB字段可能会遇到一些挑战。这篇文档将详细阐述如何在JDBC中有效地读取和操作Oracle数据库的CLOB字段,并将其转换为...
在执行CASE语句时,没有匹配到任何WHEN子句,并且也没有提供ELSE子句的情况下触发此异常。 **解决方法:** - 添加一个ELSE子句以处理所有情况。 - 如果不希望处理未匹配的情况,则可以忽略此异常。 #### 3. ...
本文将深入探讨Oracle中的SQL和PL/SQL语言,以及它们在数据库管理和开发中的应用。 一、SQL基础 SQL是用于管理和操作关系型数据库的标准语言。在Oracle中,SQL用于查询、插入、更新和删除数据,创建和修改表结构,...
- **启用 Fast-Start Failover**: 需要在Data Guard Broker中正确配置相关参数,以确保在发生故障时能够快速切换。 - **监控**: 必须对主库和物理备库的状态进行持续监控,以检测任何可能引发故障切换的异常情况。 -...
5. ORA-00911:无效字符。当SQL语句中包含数据库不识别的字符时,会出现此错误。仔细检查SQL语句,找出并删除非法字符。 6. ORA-01555:快照过旧。这是因为回滚段空间不足,导致无法读取旧版本的数据。增加回滚段...
Oracle数据库是全球广泛使用的大型关系型数据库管理系统,其在企业级应用中占据着重要的地位。在使用Oracle数据库的过程中,由于各种原因,用户可能会遇到各种错误。这篇内容将深入解析Oracle数据库的一些常见错误...
ORA-00911:无效字符 ORA-00917:缺少逗号 ORA-00918:未明确定义列 ORA-00922:丢失或无效的选项(表名等可能有空格) ORA-00923:未找到FROM关键字 ORA-00926:缺少value ORA-00933: SQL命令未正确结束 ORA-...
- 在分析 SQL 语句时查询数据字典表时发生错误。 - **原因**: - 这类错误通常与内存管理有关,可能是由于内存泄漏导致的。 - **措施**: - 如果偶尔出现,可以通过适当增加 `SHARE_POOL_SIZE` 参数值来尝试解决...
5. ORA-00911:非法字符 - 解决:检查SQL语句中的语法,确保没有非法字符。 6. ORA-01017:用户名/口令无效 - 解决:确认登录凭证的正确性,包括大小写敏感性。 7. ORA-00942:表或视图不存在 - 解决:检查表或...