存储过程里面where1=1怎么实现

finereport里面用where 1=1 可以实现参数为空选择全部,奈何数据量大以后查询数据真的很感人。但存储过程里面该怎么写呢? where 1=1 and xxx=TTT好像不行哦

FineReport hotfog119 发布于 2021-2-19 14:45
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共2回答
最佳回答
0
hotfog119Lv7初级互助
发布于2021-2-20 09:55

自己解决了,在SQL语句后面添加where (数据列=参数 or nvl(参数,' ')=' ')作为过滤条件,解决功能实现问题。不过这样写不管是查询局部还是所有数据,先都得把所有数据的结果统计汇总,再进行过滤,查询效率还是不行。

最佳回答
0
shirokoLv6资深互助
发布于2021-2-19 14:53

https://bbs.fanruan.com/wenda/question/66776.html

  • hotfog119 hotfog119(提问者) 大佬用的SQLsever或者MySQL吧,我们用的oracle。不过还是感谢大佬热心帮助
    2021-02-20 09:51 
  • shiroko shiroko 回复 hotfog119(提问者) 因为你没说呀
    2021-02-20 10:02 
  • 1关注人数
  • 400浏览人数
  • 最后回答于:2021-2-20 09:55
    请选择关闭问题的原因
    确定 取消
    返回顶部