phmg.net
当前位置:首页 >> orAClE 存储过程 iF thEn {} ElsE {} EnD iF; 这句... >>

orAClE 存储过程 iF thEn {} ElsE {} EnD iF; 这句...

if 布尔表达式 then 处理; else 处理; end if;

使用return是直接跳出存储过程。

create or replace procedure p_run_temp as S_DATE:=to_number(to_char(sysdate,'d'),'9');--查询下to_char这个函数是否有问题 begin if S_date=4 then p_temp(); else p_temp2(); end if ; end p_run_temp; 存储过程一般用AS。而且题中的存储...

if 1=1 then -- eles -- end if ;

不同的数据库中,存储过程中if else 语句写法有一些差别。 如果是SQLServer数据库,存储过程的if, else语句可以这样写: if a>bBegin print 'a'EndElse if a 100 THEN dbms_output.put_line( '100+' );ELSIF testvalue = 100 THEN dbms_output.p...

你的IF 逻辑有问题:当输入37的时候 flag>5 肯定结果是1,不会进入else了。 你可以再第一行加上FLAG5 and FLAG10 THEN V_VALUE :=2; ELSIF FLAG

个人认为oracle的proc是所有主流数据库中可读性最高的 你用下面这个框架 if ... then ... elsif ... then ... elsif ... then .. else ... end if;

问题1:当你传入37 时,IF FLAG>5 已经满足条件了,直接V_VALUE :=1;,不会继续判断了。然后就调到end if。可以按f9调试,不信一步步看它的执行过程。 问题2:IF V_NULL=NULL,不是这样写,是IF V_NULL IS NULL ,就会输出888啦。

楼主您好 是oracle存储过程的else if的格式是ELSIF 注意哦

if( a==1 && b==1) 这样写: if a = 1 and b = 1 then -- 里面写if成立情况的代码 else -- else情况 end if; if(a==1 | | b==1) 这样写: if a = 1 or b = 1 then -- 里面写if成立情况的代码 else -- else情况 end if;

网站首页 | 网站地图
All rights reserved Powered by www.phmg.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com