> 唯美句子 > 存储过程的if,else怎么写

存储过程的if,else怎么写

存储过程的if,else怎么写?

Oracle 是下面这种写法:

IF testvalue > 100 THEN

dbms_output.put_line( '100+' );

ELSIF testvalue = 100 THEN

dbms_output.put_line( '100' );

ELSE

dbms_output.put_line( '100-' );

END IF;

DB2, MYSQL 是下面这种写法: ( 与 Oracle 区别在于那个 ELSIF )

IF p_val > 100 THEN

INSERT INTO output_debug VALUES( '100+' );

ELSEIF p_val = 100 THEN

INSERT INTO output_debug VALUES( '100' );

ELSE

INSERT INTO output_debug VALUES( '100-' );

END IF;

SQL Server 有些差别:

IF @testvalue > 100

BEGIN

PRINT( '100+' );

END

ELSE IF @testvalue = 100

BEGIN

PRINT( '100' );

END

ELSE

BEGIN

PRINT( '100-' );

END

oracle 存储过程里的if else

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。而且题中的存储过程语法也有问题。

oracle 存储过程 if语句

&&用and表示,如:

if 1=1 and 2=2 then

...

end;

||用or表示。

!用not表示。

oracle存储过程 判断语句怎么写

if 条件1 then 语句1

elsif 条件2 then 语句2

else 语句3

end if;

oracle存储过程IF判断问题

你的IF 逻辑有问题:当输入37的时候 flag>5 肯定结果是1,不会进入else了。

你可以再第一行加上FLAG<=10 然后试试。

当然你下面的逻辑还有问题,你自己去琢磨琢磨,根据你的需求慢慢改吧!

IF FLAG>5 and FLAG<=10 THEN

V_VALUE :=1;

ELSIF FLAG>10 THEN

V_VALUE :=2;

ELSIF FLAG<20 THEN

V_VALUE :=3;

ELSIF FLAG<39 THEN

V_VALUE :=4;

ELSE V_VALUE :=5;

END IF;

实在搞不懂逻辑,可以用switch……case……这样清晰些。

oracle存储过程中嵌套多个if

BEGIN

IF (1 = 1) THEN

DBMS_OUTPUT.PUT_LINE('这是第一层的if');

IF (1 = 1) THEN

DBMS_OUTPUT.PUT_LINE('这是第二层的if');

END IF;

ELSE

DBMS_OUTPUT.PUT_LINE('这是第一层的else');

END IF;

END;

这个是我测试的 不会被第一个if截断 是不是你脚本有问题?

oracle存储过程IF判断的问题

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

问题2:IF V_NULL=NULL,不是这样写,是IF V_NULL IS NULL ,就会输出888啦。

oracle存储过程中写IF ELES

if 1=1 then

--

eles

--

end if ;

oracle存储过程中if条件后的sql没有执行

你把你这两个 dbms输出的语句注释掉试下,你这两个语句后面都有封号,不是代表if语句已经结束了吗

oracle 存储过程中if else的应用

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;