Druid关于对Oracl的pivot支持。-问答-阿里云开发者社区-阿里云

开发者社区> 问答> 正文

Druid关于对Oracl的pivot支持。

游客yafq74eplo5ey 2021-09-06 17:54:25 181

我采用的springboot+Druid(1.2.6)+mybatis+Oracle11,主要问题就是针对不同pivot写法,出现的异常以及处理方式, SQL代码片段1:

	FROM
		(
		SELECT
			* 
		FROM
			( SELECT f.pub pub, f.openway, f.allin_uv, f.firstin_uv, f.tm FROM app.tongji_newsapp_pub1openway_1d f ) a pivot (
				sum( allin_uv ) AS alluv,
				sum( firstin_uv ) AS fstuv FOR openway IN ( 'desktop' AS desktop, 'direct' AS tdirect, 'push' AS tpush, 'total' AS total, 'outside' AS toutside ) 
			) 
		) t
		LEFT JOIN app.d_newsapp_pubinfo p ON t.pub = p.pub 
		AND p.isshow = 1 
		AND p.pub_kind != 'None' 

SQL代码片段2:

	FROM
		( SELECT f.pub pub, f.openway, f.allin_uv, f.firstin_uv, f.tm FROM app.tongji_newsapp_pub1openway_1d f ) a pivot (
			sum( allin_uv ) AS alluv,
			sum( firstin_uv ) AS fstuv FOR openway IN ( 'desktop' AS desktop, 'direct' AS tdirect, 'push' AS tpush, 'total' AS total, 'outside' AS toutside ) 
		) t
		LEFT JOIN app.d_newsapp_pubinfo p ON t.pub = p.pub 
		AND p.isshow = 1 
		AND p.pub_kind != 'None' 

这两段SQL的完整版在navicat或者plsql都是可以正常执行的,但是在项目代码环境执行异常。

SQL片段1在代码可以执行。 SQL片段2在代码不可以执行,但是关闭了springboot+druid的wall配置,就可以正常执行了。 目前定位是druid对这块SQL的解析有问题,但是具体原因不是很清楚,想找大佬们请教请教,个人源码解读有点欠缺。

云服务器登录 云服务器设置
分享到
取消 提交回答
全部回答(0)
数据库
使用钉钉扫一扫加入圈子
+ 订阅

分享数据库前沿,解构实战干货,推动数据库技术变革

相似问题
最新问题