你好,欢迎来到电脑编程技巧与维护杂志社! 杂志社简介广告服务读者反馈编程社区  
合订本订阅
 
 
您的位置:技术专栏 / Linux开发
跨越Oracle和MSSQL关系数据库开发——01开关语句(2)
 
2.2 T-SQL的条件语句
  T-SQL提供了类似于C语言的多层条件语句。上一小节的例子可以表达为:
IF @grade = 'A'
BEGIN
 @result := 'Excellent';
END
ELSE IF @grade = 'B'
BEGIN
 @result := 'Very Good';
END
ELSE IF @grade = 'C'
BEGIN
 @result := 'Good'
END
ELSE IF @grade = 'D'
BEGIN
 @result := 'Fair'
END
ELSE IF @grade = 'F'
BEGIN
 @result := 'Poor'
END
ELSE
BEGIN
 @result := 'No such grade'
END
  上述语句虽然看起来和PL/SQL的ELSIF差不多,但实际上是使用多层选择。
2. 使用开关语句表达多重选择
  开关语句就是专门为简化多重选择而设计的,所以,如果可能,尽量使用之。
2.1 Oracle的开关语句
  在9i以前的版本中,Oracle只提供了DECODE一个开关函数,并且该函数只能在SQL语句中使用,不能直接在PL/SQL的其他类型语句中使用。
  DECODE的语法为:
DECODE(expr,search,result[,search,result]...[,default])
  例如,上一小节中的例子可以用DECODE表达为:
select DECODE(v_grade, 'A', 'Excellent',
                       'B', 'Very Good',
                       'C', 'Good',
                       'D', 'Fair',
                       'F', 'Poor',
                       'No such grade')
 into v_result
 from dual;
  这里假设v_grade和v_result均为PL/SQL中的变量。
(编辑:aniston)
  推荐精品文章

·2024年12月目录 
·2024年11月目录 
·2024年10月目录 
·2024年9月目录 
·2024年8月目录 
·2024年7月目录 
·2024年6月目录 
·2024年5月目录 
·2024年4月目录 
·2024年3月目录 
·2024年2月目录 
·2024年1月目录
·2023年12月目录
·2023年11月目录

  联系方式
TEL:010-82561037
Fax: 010-82561614
QQ: 100164630
Mail:gaojian@comprg.com.cn

  友情链接
 
Copyright 2001-2010, www.comprg.com.cn, All Rights Reserved
京ICP备14022230号-1,电话/传真:010-82561037 82561614 ,Mail:gaojian@comprg.com.cn
地址:北京市海淀区远大路20号宝蓝大厦E座704,邮编:100089