收藏本站腾讯微博新浪微博

经典论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

蓝色理想 最新研发动态 网站开通淘帖功能 - 蓝色理想插件 论坛内容导读一页看论坛 - 给官方提建议

论坛活动及任务 地图和邮件任务 请多用悬赏提问 热夏来袭,选一款蓝色理想的个性T恤吧!

手机上论坛,使用APP获得更好体验 急需前端攻城狮,获得内部推荐机会 论坛开通淘帖功能,收藏终于可以分类了!

搜索
查看: 2283|回复: 3

[数据库] 如何精炼存储过程中的if语句

[复制链接]
发表于 2009-10-20 17:23:41 | 显示全部楼层 |阅读模式
请教高人,如下代码如何精炼,感谢。

IF R1.ITEM_LAYER = 1 THEN
            UPDATE DM_DIM_TREE
            SET PARENT_SEQ = 0
            WHERE ITEM_SEQ = R1.ITEM_SEQ;
          ELSE
         
          IF R1.ITEM_LAYER = 2 THEN
            UPDATE DM_DIM_TREE
            SET PARENT_SEQ =1
            WHERE ITEM_SEQ = R1.ITEM_SEQ;         
          ELSE
     
          IF R1.ITEM_LAYER = 3 THEN
            UPDATE DM_DIM_TREE
            SET PARENT_SEQ =2
            WHERE ITEM_SEQ = R1.ITEM_SEQ;         
          ELSE

          IF R1.ITEM_LAYER = 4 THEN
            UPDATE DM_DIM_TREE
            SET PARENT_SEQ =3
            WHERE ITEM_SEQ = R1.ITEM_SEQ;         
          END IF;         
          END IF;         
          end if;            
          END IF;
发表于 2009-10-20 17:24:40 | 显示全部楼层
case when..
当然,如果你的语句变化比较大,这种方式就不能用。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-10-21 08:30:38 | 显示全部楼层
帅青蛙,你好,case when 只能在select 语句中使用,解决不了我目前的问题啊
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-10-21 13:17:05 | 显示全部楼层
怎么无人问津啊,请高手帮忙啊~~
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|小黑屋|Archiver|手机版|blueidea.com ( 湘ICP备12001430号 )  

GMT+8, 2020-9-27 00:18 , Processed in 0.093514 second(s), 9 queries , Gzip On, Memcache On.

Powered by Discuz! X3.2 Licensed

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表