第十章-SQL-Server的程序设计.ppt

  1. 1、本文档共73页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第十章 SQL Server的程序设计 本章主要内容 10.1 批处理与流程控制 10.2 事务处理 10.3 锁机制 10.4 游标 10.1 批处理与流程控制 通常,服务器端的程序使用SQL语句来编写.一般而言,一个服务器端的程序是由以下一些部分组成: 批 注释 程序中使用的变量 改变批中语句的执行顺序的流程控制语言 错误和消息的处理 10.1 批处理与流程控制 一. 批处理 批处理就是单个或多个Transact-SQL语句的集合,由用户或应用程序一次性发送给SQL Server解释并执行批处理内的所有语句指令。 建立批处理如同编写SQL语句,区别在于它是多条语句同时执行的,用GO语句作为一个批处理的结束。 一. 批处理 使用批时的几点限制: 1. 大多数的create命令要在单个批中执行,但create database, create table和create index例外 2. 用set语句改变的选项在批结束时生效 3. 在同一个批中不能改变一个表再立即引用其新列. 一. 批处理 【例10.1】一个批处理的例子 一. 批处理 【例10.2】错误例题 一. 批处理 【例10.3】无效批处理 二. 流程控制 使用T-SQL语言编程的时候,常常要利用各种流程控制语句去进行顺序、分支控制转移、循环等操作。T-SQL提供了一组流程控制语句,包括:条件控制语句、无条件转移语句、循环语句和返回状态值给调用例程的语句 1. BEGIN…END语句块 2. IF…ELSE语句 3. CASE表达式 4. WHILE语句 5. WAITFOR语句 6. GOTO语句 7. RETURN语句 二. 流程控制----① begin…end 其语法如下: BEGIN {命令行|程序块} END BEGIN…END 用来设定一个程序块,将在BEGIN…END 内的所有程序视为一个单元执行。 BEGIN…END 经常在条件语句(如IF…ELSE)或循环等控制流程的语句中使用。 在BEGIN…END 中可嵌套另外的BEGIN…END 来定义另一程序块。 二. 流程控制----② if…else IF…ELSE语句用来实现选择结构,其语法格式如下: IF (条件表达式) {命令行|程序块} [ELSE {命令行或程序块}] 其中: 条件表达式可以是各种表达式的组合,但表达式的值必须是逻辑值“真”或“假”。 ELSE 子句是可选的,最简单的IF 语句没有ELSE 子句部分。 IF…ELSE 用来判断当某一条件成立时执行某段程序,条件不成立时执行另一段程序。 如果不使用程序块,IF 或ELSE 只能执行一条命令。 IF ELSE 可以进行嵌套,最多嵌套32级。 二. 流程控制----② if…else 【例10.4】 二. 流程控制----② if…else 【例10.5】统计2004级计算机应用技术专业02班的学生人数不超过5人,则向数据表stud_info中插入新的学生记录 二. 流程控制----② if…else 【例10.5改】在stud_info表中,查询1986年出生的学生的平均入学成绩,如果大于560,则让这些人的入学成绩减5 二. 流程控制----② if…else 【例10.6】从数据表stud_grade中读出学生陈红的成绩,将百分制转换成等级制显示. 二. 流程控制----③ case表达式 CASE函数可以计算多个条件式,并将其中一个符合条件的结果表达式返回。CASE函数按照使用形式的不同,可以分为简单CASE表达式和搜索CASE表达式。 【注意】 1.执行CASE子句时,只运行第一个匹配的子句。 2.CASE表达式不是语句,它不能单独执行,而只能作为语句的一部分来使用。 二. 流程控制----③ case表达式 1.简单CASE表达式 将一个测试表达式与一组简单表达式进行比较,如果某个简单表达式与测试表达式的值相等,则返回相应结果表达式的值。其语法格式如下: CASE 测试表达式 WHEN 测试值1 THEN 结果表达式1 ... WHEN 测试值n THEN 结果表达式n [ ELSE 结果表达式m ] END 二. 流程控制----③ case表达式 【例10.7】从学生表stud_info中,选取stud_id,gender,如果gender为“男”则输出“M”,如果为“女”输出“F”。 二. 流程控制----③ case表达式 2.搜索CASE表达式 与简单表达式不同的是,搜索表达式中,CASE关键字后面不跟任何表达式,在

文档评论(0)

iris + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档