oracle存储过程IF判断问题

oracle存储过程IF判断问题,第1张

问题1:当你传入37

时,if

flag>5

已经满足条件了,直接v_value

:=1,不会继续判断了。然后就调到end

if。可败稿以按察租孝f9调试,型首不信一步步看它的执行过程。

问题2:if

v_null=null,不是这样写,是if

v_null

is

null

,就会输出888啦。

你的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条件为某变量御族不等于1,怎么写

oracle存储亮橡过程镇键弊中的if条件判断的写法:

比如:

temp

varchar2(10)

:=

'10000'

if

temp

<>

'10000'

then

insert

into

...

else

update

.......

end

if


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/bake/8030936.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-12
下一篇2023-04-12

发表评论

登录后才能评论

评论列表(0条)

    保存