请教各位吴彦祖一个问题:同一个 SQL, Java 和 plsql 的查询结果不一致.
資深大佬 : yveJohn 4
请不要吐槽使用的上古框架,这是公司的屎山项目,必须得用!!!
-
开发环境:eclipse 2018.09
-
JDK 版本:JDK 1.8.0_181
-
orm 框架:ibatis 2.3.4
-
数据库版本:Oracle 11g
根据百度、谷歌查询的解决方案已排除以下问题:
- 程序和 plsql 连接的数据源不一致
- plsql 中存在未提交的数据
- ibatis 缓存导致
SQL 语句因为公司行业敏感,不能放出来给大家看,大概类似下面的代码
with TEMP_TABLE AS( SELECT ITEM_CODE,ITEM_NAM····· FROM TABLE1 WHERE ITEM_CODE = '***' ORDER BY ITEM_CODE ) SELECT A.ITEM_LVL,A.MARK,B.ITEM_NAM,SUM(A.VALUE) VALUE FROM TABLE2 A LEFT JOIN TEMP_TABLE B ON A.ITEM_CODE = B.ITEM_CODE GROUP BY A.ITEM_LVL,A.MARK,B.ITEM_NAM
具体的错误表现是程序中查询时VALUE始终为 0,但是把程序执行的 SQL 拿到 plsql 中执行VALUE存在值
大佬有話說 (11)