版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第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
‘没有找到!'
return
end
‘已找到!'
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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 大连大学附属中山医院2025年编制外职工(第四批)招聘备考题库及答案详解(易错题)
- 2026年国联民生证券股份有限公司招聘财富规划师备考题库附答案详解
- 2026年怀化市教育局直属学校公开招聘备考题库及一套参考答案详解
- 一中·招聘我校2026年编外教师招聘备考题库完整参考答案详解
- 2026年南街街道专职网格员招聘备考题库及一套完整答案详解
- 重庆杨家坪中学2025-2026学年教师招聘备考题库及完整答案详解1套
- 初中英语演讲中身体语言自信度对说服力的影响分析课题报告教学研究课题报告
- 2026年四川省肿瘤医院中西医结合旗舰项目管理人员招聘备考题库及参考答案详解1套
- 2025年区块链数字版权交易风险评估报告
- 初中信息技术教学中数字素养培养的学科融合策略研究教学研究课题报告
- 产科护士长2025年度述职报告
- 2026五个带头发言材料三
- 总承包管理实施指南
- 2025永丰街道平安工作服务站工作人员招聘7人模拟笔试试题及答案解析
- 2025西部科学城重庆高新区人才紧缺招聘35人笔试考试备考题库及答案解析
- 2025云南省人民检察院招聘22人笔试考试参考题库及答案解析
- 2025年慢性阻塞性肺病药物使用规范答案及解析
- 2026(人教版)数学五上期末复习大全(知识梳理+易错题+压轴题+模拟卷)
- DB3205-T 1123-2024 职业教育集团建设与运行规范
- 2025年政府财务岗面试题及答案
- 广东省东华高级中学2026届高一化学第一学期期末统考试题含解析
评论
0/150
提交评论