




已阅读5页,还剩19页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第五章 T SQL编程 2 目标 掌握如何定义变量并赋值掌握如何输出显示数据掌握IF WHILE CASE逻辑控制语句理解SQL中批处理的概念 3 使用变量 和C语言一样 变量分为 局部变量 局部变量必须以标记 作为前缀 如 age局部变量的使用也是先声明 再赋值全局变量 全局变量必须以标记 作为前缀 如 version全局变量由系统定义和维护 我们只能读取 不能修改全局变量的值 4 局部变量 例如 DECLARE namevarchar 8 DECLARE seatint 声明局部变量DECLARE 变量名数据类型 赋值SET 变量名 值SELECT 变量名 值 例如 SET name 张三 SELECT name stuNameFROMstuInfoWHEREstuNo s25302 必须确保筛选出的记录只有1条 或 5 局部变量示例5 1 问题 编写T SQL查找李文才的左右同桌 学员信息表 分析 第一步 找出 李文才 的座位号 第二步 李文才的座位号加1或减1 6 局部变量示例5 2 查找李文才的信息 DECLARE namevarchar 8 学员姓名SET name 李文才 使用SET赋值SELECT FROMstuInfoWHEREstuName name 查找李文才的左右同桌 DECLARE seatint 座位号SELECT seat stuSeatFROMstuInfo 使用SELECT赋值WHEREstuName nameSELECT FROMstuInfoWHERE stuSeat seat 1 OR stuSeat seat 1 GO 演示 使用局部变量 参考语句 7 全局变量 全局变量都使用两个 标志作为前缀 8 全局变量示例 print SQLServer的版本 VERSIONprint 服务器的名称 SERVERNAMEINSERTINTOstuInfo stuName stuNo stuSex stuAge VALUES 武松 s25328 男 23 如果大于0表示上一条语句执行有错误print 当前错误号 convert varchar 5 ERROR print 刚才报名的学员 座位号为 convert varchar 5 IDENTITY UPDATEstuinfoSETstuAge 85WHEREstuName 李文才 print 当前错误号 convert varchar 5 ERROR GO 参考语句 SQLServer的版本 服务器名称 错误号 座位号 自动编号 错误号 演示 使用全局变量 9 逻辑控制语句 IF ELSE语句 C语言中的if else语句if 条件 语句1 语句2 else 语句1 语句2 SQL中的IF ELSE语句IF 条件 BEGIN语句1语句2 ENDELSEBEGIN语句1 语句2 END 同C语言一样 ELSE是可选部分如果有多条语句 才需要BEGIN END语句块 10 IF ELSE示例5 1 问题 统计并显示本班笔试平均分 如果平均分在70以上 显示 成绩优秀 并显示前三名学员的考试信息 如果在70以下 显示 本班成绩较差 并显示后三名学员的考试信息 学员成绩表 分析 第一步 统计平均成绩存入临时变量 第二步 用IF ELSE判断 11 IF ELSE示例5 2 12 设置输出结果的格式 为了文本消息和输出结果显示在同一窗口 需要设置输出结果的格式 13 逻辑控制语句 WHILE循环语句 C语言中的while语句while 条件 语句1 语句2 break SQL中的WHILE语句WHILE 条件 BEGIN语句1语句2 BREAKEND 同C语言一样 BREAK表示退出循环如果有多条语句 才需要BEGIN END语句块 14 WHILE示例5 1 问题 本次考试成绩较差 假定要提分 确保每人笔试都通过 提分规则很简单 先每人都加2分 看是否都通过 如果没有全部通过 每人再加2分 再看是否都通过 如此反复提分 直到所有人都通过为止 学员成绩表 分析 第一步 统计没通过的人数 第二步 如果有人没通过 加分 第三步 循环判断 15 DECLARE nintWHILE 1 1 条件永远成立BEGINSELECT n COUNT FROMstuMarksWHEREwrittenExam0 UPDATEstuMarks 每人加2分SETwrittenExam writtenExam 2ELSEBREAK 退出循环ENDprint 加分后的成绩如下 SELECT FROMstuMarks WHILE示例5 2 参考语句 16 逻辑控制语句 CASE END多分支语句 CASEWHEN条件1THEN结果1WHEN条件2THEN结果2 ELSE其他结果END 17 CASE END示例5 1 问题 采用美国的ABCDE五级打分制来显示笔试成绩 A级 90分以上B级 80 89分C级 70 79分D级 60 69分E级 60分以下 学员成绩表 18 print ABCDE五级显示成绩如下 SELECTstuNo 成绩 CASEWHENwrittenExam 60THEN E WHENwrittenExamBETWEEN60AND69THEN D WHENwrittenExamBETWEEN70AND79THEN C WHENwrittenExamBETWEEN80AND89THEN B ELSE A ENDFROMstuMarks CASE END示例5 2 参考语句 19 CASE END课堂练习 课堂练习 请根据平均分和下面的评分规则 编写T SQL语句查询学员的成绩 如上图所示 优 90分以上良 80 89分中 70 79分差 60 69分不及格 60分以下 学员成绩分析 20 CASE END练习答案 USEstuDBGOSELECT考号 ExamNo 学号 stuNo 笔试 writtenExam 机试 labExam 平均分 writtenExam labExam 2 等级 CASEWHEN writtenExam labExam 2 60THEN 不及格 WHEN writtenExam labExam 2BETWEEN60AND69THEN 差 WHEN writtenExam labExam 2BETWEEN70AND79THEN 中 WHEN writtenExam labExam 2BETWEEN80AND89THEN 良 ElSE 优 ENDFROMstuMarks 21 批处理语句 批处理是包含一个或多个SQL语句的组 从应用程序一次性地发送到SQLServer执行SQLServer将批处理语句编译成一个可执行单元 此单元称为执行计划 执行计划中的语句每次执行一条 客户端应用程序 SQLServer服务器 批处理语句 语句1语句2 GO 22 批处理语句示例 SELECT FROMstuInfoSELECT FROMstuMarksUPDATEstuMarksSETwrittenExam writtenExam 2GO GO是批处理的标志 表示SQLServer将这些T SQL语句编译为一个执行单元 提高执行效率一般是将一些逻辑相关的业务操作语句 放置在同一批中 这完全由业务需求和代码编写者决定 23 批处理语句示例 例如建表语
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026届杭州市重点中学八年级物理第一学期期末质量检测试题含解析
- 2026届黑龙江省哈尔滨市建平学校八年级物理第一学期期末预测试题含解析
- 2026届重庆南开(融侨)中学八年级物理第一学期期末学业水平测试试题含解析
- 2026届江苏省徐州市六校物理八年级第一学期期末复习检测试题含解析
- 2025年食品质量安全控制方法优化方案
- 智能家居产品成本评估与供应链管理研究报告
- 畜牧场动物疫病防控2025年智能监测系统评估报告
- 智能家居解决方案2025年融资策略可行性分析报告
- 校园雨具租赁设备智能化升级趋势报告
- 跨海航线中小企业航运物流企业商业模式创新报告
- (高清版)JTG 2120-2020 公路工程结构可靠性设计统一标准
- 连翘仿野生种植技术规范
- 国际标准《风险管理指南》(ISO31000)的中文版
- GB/T 18910.41-2024液晶显示器件第4-1部分:彩色矩阵液晶显示模块基本额定值和特性
- 癌性疼痛中西医结合诊疗指南
- 88版干部履历表
- 房屋拆除工程投标书
- IT设备维修申请表
- GB/T 28714-2023取水计量技术导则
- 供应商纠正预防措施报告
- 《插画》名师优质课获奖市赛课一等奖课件
评论
0/150
提交评论