T-SQL数据库编程2精品.pptVIP

  1. 1、本文档共29页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
T-SQL数据库编程2精品

* Transact-SQL数据库编程 流程控制语句 功能性语句 流程控制语句 1. 语句块(BEGIN…END) 语法如下: BEGIN SQL语句或程序块 END 说明: 在t-sql中用begin……end来把多个t-sql语句连成一个语句块,它的作用相当于和java中的大括号 { }。只要是流程控制语句中执行两条或者多条t-sql语句的任何地方,都可以使用begin……end 举例——语句块 begin……end常用于if语句和while语句中。如果if和while语句只有一条t-sql语句的话可以不使用begin……end,但是为了养成良好的习惯,建议只有一条t-sql也要写上begin……end begin……end语句可以嵌套使用。 注:每个t-sql语句后面没有逗号或是分号。 begin update 课程表 set 学分=4 where 课程号 update 课程表 set 学分=3 where 课程号 select 课程号,学分 from 课程表 end 流程控制语句 2.判断语句(IF…ELSE) 语法如下: IF 条件表达式 命令行或语句块1 [ ELSE 命令行或语句块2 ] 说明: else子句是可选的,最简单的if语句没有else子句部分 if…else可以进行嵌套。 举例——判断语句 例:计算学号为0202003的学生的平均成绩,如果成绩=60分,则显示及格,否则显示不及格。 declare @cj_avg int select @cj_avg=avg(成绩) from 选课 where 学生号= 0202003 print 平均成绩: print @cj_avg if @cj_avg=60 --if后的条件可以不加括号。 print 平均成绩及格 else print 平均成绩不及格 go 流程控制语句 3. 检测语句(IF…EXISTS) 用于检测数据是否存在,而不考虑与之匹配的行数。只要找到第一个匹配的行,服务器就会停止执行SELECT语句。 语法如下:  IF [NOT] EXISTS (SELECT查询语句)   命令行或语句块1   [ELSE    命令行或语句块2 ] 举例——检测语句 例:检查学号为0202003的同学是否有课程号C001的成绩。 if exists (select * from 选课 where 学生号=‘0202003 and 课程号=‘C001) print 有这门课的成绩 else print 没有这门课的成绩 go 流程控制语句 4.多分支判断语句(CASE…WHEN) CASE…WHEN结构可避免多重IF…ELSE语句嵌套使用。有两种格式,其中第二种格式较常用。 格式语法如下: CASE WHEN 条件1 THEN 结果1 WHEN 条件2 THEN 结果2 …… [ELSE 其它结果] END 举例——多分支判断语句 例:对学生成绩进行评定。 优秀: 成绩90 良好: 80≤成绩90 中等: 70≤成绩80 及格: 60≤成绩70 不及格:成绩60 总评= 举例——多分支判断语句 对应的T-SQL语句: select 学生号,成绩,总评= case when(成绩=90) then 优秀 when(成绩=80)and(成绩90) then 良好 when(成绩=70)and(成绩80) then 中等 when(成绩=60)and(成绩70) then 及格 else 不及格 end from 选课 order by 学生号 go 另外一种写法: select 学生号,成绩,总评= case when 成绩=90 then 优秀 when 成绩 between 80 and 89 then 良好 when 成绩 between 70 and 79 then 中等 when 成绩 b

文档评论(0)

bodkd + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档