oracle 数据库中存储过程输出情况
Oracle数据库中if0<Mthendbms_output.put_line('输出SQL语句');elsifM<3thendbms_output.put_line('...
Oracle数据库中
if 0<M then
dbms_output.put_line('输出SQL语句');
elsif M<3 then
dbms_output.put_line('输出SQL语句')
else
---- 这里我不想让它输出SQL语句了,怎么写? --
end if ;
在问题那 写入 dbms_output.put_line('');
对吗?
这样写好像判断条件没有执行! 展开
if 0<M then
dbms_output.put_line('输出SQL语句');
elsif M<3 then
dbms_output.put_line('输出SQL语句')
else
---- 这里我不想让它输出SQL语句了,怎么写? --
end if ;
在问题那 写入 dbms_output.put_line('');
对吗?
这样写好像判断条件没有执行! 展开
5个回答
展开全部
1、编写存储过程,
create or replace procedure test_pro(in_num number)
as
M number;
begin
M := in_num;
if 0 < M then
dbms_output.put_line('输出SQL语句1');
elsif M < 3 then
dbms_output.put_line('输出SQL语句2');
else
dbms_output.put_line('nothing');
end if;
end;
2、在command窗口编译,
3、执行存储过程,输入变量,实际什么也不输入,
4、切到DBMS输出窗口,查看输出结果,‘nothing’,也就是说并没有执行‘输出SQL语句’,
展开全部
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
在你注释的地方插入一句话: null;
完整的如下:
if m<0 then
dbms_output.put_line('m<0');
elsif m<3 then
dbms_output.put_line('m<3');
else
null;
end if;
完整的如下:
if m<0 then
dbms_output.put_line('m<0');
elsif m<3 then
dbms_output.put_line('m<3');
else
null;
end if;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
不可以什么都不写的,你可以写成"null”,就是什么都不执行的意思,希望可以解决你的问题
更多追问追答
追问
存储过程生成的是TXT文件,要用sqlplus执行。
dbms_output.put_line(null);会出错!
dbms_output.put_line('null');也不行,那样就会在生成的txt文件中出现 null,文件就运行不了了!
我要的它什么也不输出,但是还要执行!
追答
不是这样写dbms_output.put_line('null');
你应该直接在else后写“null”
如下
if 0<M then
dbms_output.put_line('输出SQL语句');
elsif M<3 then
dbms_output.put_line('输出SQL语句')
else
null;
end if ;
明白?
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你什么都不写不就可以了吗!
追问
什么不写,那么那个if语句中的条件会执行吗?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询