存储过程中参数是动态的,需要判断是否为空

例子:selecta,b.cfromxx,如果前端传递过来的参数只有a字段的值,那么sql变为:selecta,b,cfromxxgroupbya。B和C赋值为0;如果前... 例子:select a,b.c from xx ,如果前端传递过来的参数只有a字段的值,那么sql变为:select a,b,c from xx group by a 。B和C赋值为0;如果前端传递过来的参数只有a,b字段有值,那么sql变为:select a,b,c from xx group by a,b 。C赋值为0;以此类推。(公司、成本中心等等就是前端会传过来的参数。)
group by a,b 。 b在为什么值得时候group by a,b 跟 group by a 相等。
展开
 我来答
依然特雷西sky
高粉答主

2020-04-21 · 繁杂信息太多,你要学会辨别
知道答主
回答量:1511
采纳率:33%
帮助的人:68.7万
展开全部

1、新建一个html文件,命名为test.html。

2、在test.html文件内,使用function声明一个函数,str为函数的参数。

3、在is_e()函数内,首先使用if语句进行null、空、undefined的情况判断,如果符合,则弹出“内容为空”的提示。

4、在is_e()函数内,再使用正则表达式,将空白字符、空格、制表符、换页符等替换为空。

5、再使用if语句判断上一步处理后的数据是否为空,如果为空,则弹出“内容为空”的提示没虚。

6、在is_e函数外,定义一个变量str,用于保存要判断的数据,例如答山,这里设置str变量为一个空字符,使用is_e()函数清察中进行判断。

来学习的DBA
推荐于2017-09-23 · TA获得超过298个赞
知道小有建树答主
回答量:369
采纳率:0%
帮助的人:209万
展开全部

直接上代码: 你自己把grop by 加上去,我就不全部写完了。

测试:

结果:

换条件再测试:

结果:


代码:

create or replace procedure test_a(a varchar2,b varchar2,c varchar2) is

         q varchar2(100);

         w varchar2(100);

         e varchar2(100);

         d varchar2(100);

       begin

         if a is null then q:=0;

            else q:=a;

 局游        end if;

         if b is null then w:=0;

            else w:=b;

         end if;

 桐档销        if c is null then e:=0;

            else e:=c;

         end if;

         d:='select '||q||'蠢陵,'||w||','||e||' from xx';

          dbms_output.put_line(d);

       end

;

本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
derlinchen
2015-10-14 · 超过10用户采纳过TA的回答
知道答主
回答量:76
采纳率:0%
帮助的人:28.4万
展开全部
create procedure [dbo].P_Test
(
@test varchar(10) = null
)
as
begin
if (@test = 'full') or (@test is null)
begin
sql 语句悔亏
end
else if (@test = 'row'御棚)
begin
sql 语镇前则句
end
end

GO
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式