首页 > 其他 > 详细

存储过程传参使用技巧

时间:2021-01-19 19:28:20      阅读:25      评论:0      收藏:0      [点我收藏+]

1.当传的某个参数为空时,使其在sql的条件中不生效,该如何处理

当存储过程传参如:actual_number_create_exception(analyseDate in date,typeName in varchar2,comp3Code in varchar2)

  可做如下处理:AND ((comp3Code is not null and excf.excf_comp3_code=comp3Code) or (comp3Code is null and 0=0))
  这样便可以做到,传入的公司四位码,有时生效,没传时,不生效。

  注意:excf.excf_comp3_code是一个表的字段,没发全哦

2.当想批量传入参数时,也想做到,传入时生效,不传入时不生效,改如何处理

当存储过程传参如:proc_finance_inter_data_check1(area in varchar2,escoId in varchar2,comp3Code varchar2,lebapCode in varchar2,tebapCode in varchar2)

可做如下处理:and ((escoId is not null and esco.esco_id in (select column_value from table(strsplit(escoId,‘,‘)))) or (escoId is null and 0=0))
这样便可以做到,批量传入的公司id(‘1111,2222,3333,4444‘),有传时生效,没传时,不生效。

  注意:esco.esco_id是一个表的字段,没发全哦

 

存储过程传参使用技巧

原文:https://www.cnblogs.com/xiaohu666/p/14297742.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!