T-SQL流程控制语句.ppt

上传人:za****8 文档编号:2968700 上传时间:2019-12-05 格式:PPT 页数:20 大小:251.51KB
返回 下载 相关 举报
T-SQL流程控制语句.ppt_第1页
第1页 / 共20页
T-SQL流程控制语句.ppt_第2页
第2页 / 共20页
T-SQL流程控制语句.ppt_第3页
第3页 / 共20页
点击查看更多>>
资源描述
第8章 T-SQL语言 流程控制语句,主讲人:段利文,第24讲,复习:,使用批处理、脚本、注释 标识符 常量 书写格式取决于它所表示的值的数据类型。 变量 局部变量:用户自己定义的变量;以符号开头;先声明后使用 全局变量:系统定义的变量;以 符号开头;用户不能修改其值。 T-SQL系统内置函数 T-SQL的运算符,第8章 T-SQL语言 流程控制语句 教学内容,基础知识: 流程控制语句概述 beginend语句 ifelse、if exists语句 while、break和continue语句 waitfor语句 return 语句,第8章 T-SQL语言 流程控制语句 学习目标,认知目标: 了解T-SQL语言语句块、条件语句、循环语句的基本格式 能力目标: 能运用各种流程控制语句正确编写SQL程序(重点、难点),一、流程控制语句概述,T-SQL语言与其它高级语言一样,提供了可以控制程序执行流程的语句。使用这些流程控制语句可以更好地组织和控制程序的流程。 类型 语句块:beginend 条件语句:ifelse、if exists 循环语句:while、break、continue 等待语句:waitfor 返回语句:return 转移语句:goto(了解),二、beginend语句,语句格式: begin 语句 | 语句块 end 作用 可以将多条T-SQL语句封装起来,构成一个独立的语句块。 Begin和end必须成对出现。,语句块的开始,语句块的结束,三、 ifelse、if exists语句,语法格式: if 逻辑表达式 语句 | 语句块 else 语句 | 语句块 作用: 按条件控制程序的执行。 当条件满足时,则在执行条件之后的T-SQL 语句。否则,就执行else后的T-SQL语句(若ELSE部分存在)。,if not exists(select语句) 语句 | 语句块 else 语句 | 语句块 ,三、 ifelse语句,实例1:查询学号为“020101”的平均分是否超过了85分,若超过,则输出“XX考出了高分”的信息;否则输出“考的一般”。 use xscj declare xm varchar(10) if (select avg(成绩) from xs_kc where 学号= 020101 ) 85 begin select xm= 姓名 from xsqk where 学号= 020101 print xm + 考出了高分 end else print 考的一般,从学生情况表中取姓名,求指定学号的平均成绩,三、 ifelse语句,课堂练习1:测试xscj库的xsqk表中是否有“田丽”这个人,若有则显示其信息,若无则显示“没有XX这个人!”。 use xscj declare xm varchar(20) select xm = 田丽 if exists (select * from xsqk where 姓名=xm ) select * from xsqk where 姓名=xm else print 没有“ + xm + ”这个人!,测试“学生情况表”中是否有这个人,四、while、break和continue语句,语法格式: while 逻辑表达式 语句 | 语句组 break 语句 | 语句组 continue 说明: Break用于退出最内层的while循环。 Continue用于重新开始一次while循环。,四、while、break和continue语句,实例2:计算1到100中奇数的和,要求显示为“奇数和为:XX”。 declare i int, sum int select i = 1, sum = 0 while i 100 begin set sum = sum + i set i = i +2 end print 奇数和为:+ cast(i as varchar(5),四、while、break和continue语句,课堂练习2:计算500以内能被3或7整除的数。 declare i int select i = 1 while i 500 begin if i %3=0 or i %7=0 print i set i = i +1 end,五、waitfor语句,语法格式: waitfor delay 时间 | time 时间 作用: 指定其后的语句在某一时刻或在一段时间间隔后继续执行。 说明: Delay:等待一个指定的时间间隔,最长24小时 Time: 等待一个指定的时间点(即从某个时刻开始执行一个操作)。 时间:指定等待的时间。时间必须为datetime类型,不能包括日期。,五、waitfor语句,实例3:分析下列语句的功能。 print 执行waitfor之前,秒数为: + cast(datepart(ss,getdate() as varchar(5) waitfor delay 00:00:06 print 执行waitfor之后,秒数为: + cast(datepart(ss,getdate() as varchar(5),五、waitfor语句,课堂练习4:延时6秒后查询xsqk的信息;到下午4点15分30秒查询xs_kc表。 waitfor delay 00:00:06 use xscj select * from xsqk go waitfor time 16:15:30 use xscj select * from xs_kc,六、return语句,语法格式: return 整型表达式 作用: 无条件地从过程、批或语句块中退出,在return之后的其他语句不会被执行。 说明: Return可以在过程、批和语句块中的任何位置使用。 Return与break很相似,不同的是return可以返回一个整数。,六、return语句,实例4:分析下列语句的功能。 use xscj if not exists(select * from xsqk where 姓名=田力) begin print 没有找到! return end print 已找到! return,本课小结,流程控制语句概述 beginend语句 ifelse、if exists语句 while、break和continue语句 waitfor语句 return语句,课余作业,课外练习(补充): Beginend语句可以将多条T-SQL语句封装起来,构成一个独立的_。 Break用于退出_的while循环;Continue用于_while循环。 Waitfor语句用于指定其后的语句在_或在_后继续执行。 编程计算在xsqk表中年龄大于21的学生人数,如果人数不为0,则输出相应人数,如果人数为0,则输出“没有年龄大于21的学生” 。 上机准备:流程控制语句练习。,第4题答案:,use xscj go declare n int select n=count(*) from xsqk where datediff (yy, 出生日期, getdate() ) 21 if n=0 print 年龄大于21的学生人数有: + cast( n as varchar(5) ) else print 没有年龄大于21的学生,
展开阅读全文
相关资源
相关搜索

当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!