能有什么可以替代比较多的IF……ESLE……

gemini419 2006-05-26 10:59:55
我的过程里要很多很长的IF……ESLE……
有没有其他更有效的办法可以替代啊?
...全文
249 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
heyixiang 2006-05-29
  • 打赏
  • 举报
回复
8i在SQL中可以用CASE,但是在程序块中就不行。
goldarcher2005 2006-05-29
  • 打赏
  • 举报
回复
case when
正如1楼说的,9i才支持
8i的话只能写if
xiaosheng2008 2006-05-26
  • 打赏
  • 举报
回复
不是elseif 而是 elsif
nolose 2006-05-26
  • 打赏
  • 举报
回复
我觉得要看你的判断条件是什么样子的
如果if...else...里面所嵌套的if...else...与上一层是同样的条件,那建议使用
if...elsif...elsif...elsif...语法,如果不一样的话那么有两种函数可提供解决,一种是
case,一种是decode。decode一般用来判断是否相等,但效率比较高,case则可以判断更多的情况,但是效率相对decode要差一些
ricky414 2006-05-26
  • 打赏
  • 举报
回复
如果你用的是oracle9I的话,用case语句啊
比如:
if a=1 then
……sentence……
elseif a=2 then
……sentence2……


可以改为
case a
when 1 then ……sentence1……
when 2 then ……sentence2……
else ……sentence3…… --这个esle相当于default
end case

17,134

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧