在oracle中创建带参存储过程,传进去的参数可以为空么?在存储过程中要如何判断传进来的值是否为空。

我想用一个存储过程,里面加一个判断,(判断传近来的条件是否为空),如果为空就执行普通的查询,如果有值就执行带where条件的查询.... 我想用一个存储过程,里面加一个判断,(判断传近来的条件是否为空),如果为空就执行普通的查询,如果有值就执行带where条件的查询. 展开
 我来答
backey1114
2013-01-15
知道答主
回答量:31
采纳率:0%
帮助的人:11万
展开全部
传进去的条件是可以为空的,判断的话加上if(XX is not null and XX<>' ')then.........
百度网友61f144c3
2013-01-11 · TA获得超过4145个赞
知道小有建树答主
回答量:1224
采纳率:71%
帮助的人:372万
展开全部
if pi_strin is null then --判断传入参数
v_sql :='select 1 from dual '; --不带参数
else
v_sql :='select 1 from dual where 条件=' || pi_strin;
end if;
--执行SQL查询
execute ....
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
zhoudha
生活家

推荐于2017-08-31 · 知世故而不世故地生活
知道大有可为答主
回答量:2.4万
采纳率:91%
帮助的人:105万
展开全部
create procedure 过程名(inparam in varchar2)
as
begin
if inparam is null then
普通查询;
else
带where条件的查询;
end if;
end;

这样写试一下,看看是否好用。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
micro0369
2017-08-31 · TA获得超过1.2万个赞
知道大有可为答主
回答量:9250
采纳率:85%
帮助的人:3987万
展开全部
比如:
select xxx from tab
where (p_param is null and 1=1) or (p_param is not null and col = xxx)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式