T-SQL流程控制语句_第1页
T-SQL流程控制语句_第2页
T-SQL流程控制语句_第3页
T-SQL流程控制语句_第4页
T-SQL流程控制语句_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第6章T-SQL程序设计

——流程控制语句复习:标识符常量书写格式取决于它所表示的值的数据类型。变量局部变量:用户自己定义的变量;以@符号开头;先声明后使用全局变量:系统定义的变量;以@@符号开头;用户不能修改其值。T-SQL系统内置函数T-SQL的运算符使用批处理第6章T-SQL编程

——流程控制语句

教学内容基础知识:流程控制语句概述begin…end语句if…else语句while语句goto和return语句waitfor语句第6章T-SQL编程

——流程控制语句

学习目标认知目标:了解T-SQL语言语句块、条件语句、循环语句的基本格式能力目标:能运用各种流程控制语句正确编写SQL程序(重点、难点)一、流程控制语句概述T-SQL语言与其它高级语言一样,提供了可以控制程序执行流程的语句。使用这些流程控制语句可以更好地组织和控制程序的流程。类型语句块:begin…end条件语句:if…else、CASE语句循环语句:while转移语句:goto(了解)返回语句:return等待语句:waitfor二、begin…end语句语句格式:begin{语句|语句块}

end作用可以将多条T-SQL语句封装起来,构成一个独立的语句块。begin和end必须成对出现。语句块的开始语句块的结束三、if…else语句语法格式:if

逻辑表达式

{语句|语句块}[else{语句|语句块}]作用:按条件控制程序的执行。当条件满足时,则在执行条件之后的T-SQL语句。否则,就执行else后的T-SQL语句(若else部分存在)。三、if…else语句实例1:求出学号为2013030102同学的平均成绩,如果此平均成绩大于或等于60分,则输出“pass”信息。If(selectavg(成绩)fromXS_KCwhere学号=‘2013030102‘)>=60beginprint'pass'end三、if…else语句实例2:查询2013030101号学生的平均分是否超过了85分,若超过,则输出“XX考出了高分”的信息;否则输出“考得一般”。usexscjdeclare@xmvarchar(10)if(select

avg(成绩)fromXS_KCwhere

学号=

'2013030101'

)>85begin

select@xm=姓名fromXSQKwhere

学号='2013030101'

print@xm+'考出了高分‘endelseprint

'考得一般'从学生情况表中取姓名求指定学号的平均成绩四、CASE语句使用CASE表达式可以很方便的实现多重选择的情况CASE具有两种格式:1.简单CASE表达式将某个表达式与一组简单表达式进行比较以确定结果.2.CASE搜索表达式计算一组逻辑表达式以确定结果.四、CASE语句格式1:

CASE<表达式> WHEN<表达式>THEN<表达式>

… WHEN<表达式>THEN<表达式> [ELSE<表达式>] END该语句的执行过程是:将CASE后面表达式的值与各WHEN子句中的表达式的值进行比较,如果二者相等,则返回THEN后的表达式的值,然后跳出CASE语句,否则返回ELSE子句中的表达式的值。ELSE子句是可选项。当CASE语句中不包含ELSE子句时,如果所有比较失败时,CASE语句将返回NULL。四、CASE语句实例3:从学生表XSQK中,选取学号,性别,如果性别为1,则输出“男”,如果为0,则输出“女”。SELECT学号,性别,CASE性别WHEN1THEN'男'WHEN0THEN'女'ENDFROMXSQK四、CASE语句格式2:

CASE WHEN<条件表达式>THEN<表达式>

… WHEN<条件表达式>THEN<表达式> [ELSE<表达式>] END该语句的执行过程是:首先测试WHEN后的表达式的值,如果其值为真,则返回THEN后面的表达式的值,否则测试下一个WHEN子句中的表达式的值如果所有WHEN子句后的表达式的值都为假,则返回ELSE后的表达式的值。如果在CASE语句中没有ELSE子句,则CASE表达式返回NULL。四、CASE语句实例4:查询所有同学选课成绩情况,凡成绩为空者输出“未考”、小于60分输出“不及格”、60分至70分输出“及格”、70分至90分输出“良好”、大于或等于90分时输出“优秀”。SELECT学号,课程号,成绩,成绩=CASEWHEN成绩

ISNULLTHEN'未考'WHEN成绩<60THEN'不及格'WHEN成绩>=60AND成绩<70THEN'及格'WHEN成绩>=70AND成绩<90THEN'良好'WHEN成绩>=90THEN'优秀'ENDFROMXS_KC五、while语句语法格式:while

逻辑表达式

{语句|语句块}[break]{语句|语句块}[continue]说明:break用于退出while循环。continue用于结束本次while循环,重新开始下一次循环。五、while语句实例5:计算1到100中奇数的累加和,要求显示为“奇数和为:XX”。declare@iint,@sumintselect@i=1,@sum=0while@i<100

begin

set@sum=@sum+@i

set@i=@i+2

endprint

‘奇数和为:'+str(@sum)五、while语句课堂练习1:输出500以内能被3或7整除的数。declare@iintselect@i=1while@i<500beginif@i%3=0or@i%7=0

print@i

set@i=@i+1end六、return语句语法格式:return[整型表达式]作用:无条件地从过程、批或语句块中退出,在return之后的其他语句不会被执行。说明:return可以在过程、批和语句块中的任何位置使用。return与break很相似,不同的是return可以返回一个整数。六、return语句实例3:分析下列语句的功能。usexscjifnotexists(select*fromxsqkwhere

姓名=‘李敏')

begin

print

‘没有找到!'

return

end

print

‘已找到!'

return七、waitfor语句语法格式:waitfor

delay‘时间’|time‘时间’作用:指定其后的语句在一段时间间隔后或在某一时刻继续执行。说明:delay:等待一个指定的时间间隔,最长24小时time:等待一个指定的时间点(即从某个时刻开始执行一个操作)。时间:指定等待的时间。时间必须为datetime类型,不能包括日期。七、waitfor语句课堂练习2:延时6秒后查询xsqk的信息;到下午4点15分30秒查询xs_kc表。waitfor

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论