起步软件技术论坛
搜索
 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 1611|回复: 4

[处理中3] 自定义sql语句的baasAction,在设置limit为-1的时候取不到数据

[复制链接]

25

主题

69

帖子

304

积分

中级会员

Rank: 3Rank: 3

积分
304
QQ
发表于 2017-11-21 17:09:22 | 显示全部楼层 |阅读模式
由于一个特殊的需求,需要进行多表联合查询,所以我们使用了数据表Action中的
自定义sql语句,前端用baasData来展示数据,在默认的limit=20的情况下,取数据是没问题的,但是现在因为特殊需求要将分页去掉,所以我们将limit=20改为limit=-1,这个时候就出现数据查询不到的情况了,我们查询了下数据库的sql执行记录,发现最终执行的sql语句如下:
SELECT *
  FROM (SELECT rownum no___, A___.*
          FROM (SELECT cart.*, price.USER_PRICE
                  FROM OD_SHOPPING_CART cart
                  LEFT JOIN OD_PRICECONFIG price
                    ON cart.PRODUCT_CODE = price.PRODUCT_CODE
                   AND cart.USER_CODE = price.USER_CODE
                 WHERE cart.USER_CODE = 'zs') A___
         WHERE rownum <= -1)
WHERE no___ > 0

这里的rownum <= -1应该就是平台没有特殊处理,直接将分页条件加进去导致的,这里有没有方法规避这个问题啊

25

主题

69

帖子

304

积分

中级会员

Rank: 3Rank: 3

积分
304
QQ
 楼主| 发表于 2017-11-21 17:10:15 | 显示全部楼层
目前我们使用的WeX5版本是3.7,谢谢!
回复 支持 反对

使用道具 举报

发表于 2017-11-21 17:31:23 | 显示全部楼层
你是自定义sql查询的!?
Oracle 数据库 不支持 -1这样写的吧!
你可以在java中自己写sql语句实现!

可以换另一种方式试试
http://docs.wex5.com/wex5-server-question-list-2012/
qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

25

主题

69

帖子

304

积分

中级会员

Rank: 3Rank: 3

积分
304
QQ
 楼主| 发表于 2017-11-22 08:32:51 | 显示全部楼层
不好意思,前面描述的不是太清楚,我后端定义的是一个数据表Action,然后对它的sql属性重写了取数据的sql语句(多表联合查询),然后在前端通过一个baasData来展现的数据,如果在baasData里面设置默认的分页limit为20,是可以正常的分页的,我们现在不想分页,所以将limit改为-1,这个时候就取不到数据了;
      我们为了分析是不是sql语句的原因,到oracle数据库里面查看sql命令的历史记录,发现框架在我们原有sql语句的基础上,包了一层用来分页的语句
SELECT *
  FROM (SELECT rownum no___, A___.*
          FROM (原有的sql语句)A___
         WHERE rownum <= -1)
WHERE no___ > 0,   是这里面的rownum <= -1导致的最后没有取数据;
      我们觉得这个是平台的一个小小需要改进的地方,就是像BeX5一样,如果limit设置为-1,就默认不分页就行
回复 支持 反对

使用道具 举报

发表于 2017-11-22 08:57:23 | 显示全部楼层
tangyongbo 发表于 2017-11-22 08:32
不好意思,前面描述的不是太清楚,我后端定义的是一个数据表Action,然后对它的sql属性重写了取数据的sql语 ...

嗯,可能是sql属性中写的,有点问题!你可以自定义action ,在java代码中自己写完整的sql语句实现

你好楼主,这个问题需要我在本地环境进行问题重现,所以会花费较长时间,请你耐心等待,我完成后会第一时间反馈结果,谢谢!2017112200001
qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|X3技术论坛|Justep Inc.    

GMT+8, 2025-6-29 12:29 , Processed in 0.057551 second(s), 23 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表