《基于C#的SQL Server应用技术》课件第6章_第1页
《基于C#的SQL Server应用技术》课件第6章_第2页
《基于C#的SQL Server应用技术》课件第6章_第3页
《基于C#的SQL Server应用技术》课件第6章_第4页
《基于C#的SQL Server应用技术》课件第6章_第5页
已阅读5页,还剩35页未读 继续免费阅读

下载本文档

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

文档简介

工作任务1流程控制语句工作任务2函数情境总结

练习题

Transact-SQL(T-SQL)提供称为控制流语言的特殊关键字,用于控制Transact-SQL语句、语句块和存储过程的执行流。这些关键字可用于临时Transact-SQL语句、批处理和存储过程中。

若不使用控制流语言,则各Transact-SQL语句按其出现的顺序分别执行。控制流语言使用与程序设计相似的构造使语句得以互相连接、关联和相互依存。工作任务1流程控制语句

1.标识符

数据库对象的名称即其标识符。

2.注释

3.批处理

批处理是由一个或多个T-SQL语句组成的,应用程序将这些语句作为一个单元一次性地提交给SQLServer,并由SQLServer编译成一个执行计划,然后作为一个整体来执行。

4.数据类型

5.常量

6.变量

变量是指在程序的执行过程中可以改变的量,它可以保存特定类型的值。

例6-1:将成绩信息表中学号为“200606001”的学生的分数赋值给变量@fenshu,并将该变量的值显示在结果窗口中。

执行如下命令,运行结果如图6-1所示。图6-1例6-1运行结果

7.运算符和表达式

运算符是一种符号,用来指定要在一个或者多个表达式中执行的操作。

1)算术运算符

2)赋值运算符

3)字符串连接运算符

4)比较运算符

5)逻辑运算符子任务1顺序结构

顺序结构控制语句包括BEGIN…END语句块定义语句、PRINT返回客户端消息语句、WAITFOR等待语句和RETURN返回语句。本子工作任务介绍这四种语句在顺序结构中的应用。

1.定义语句块

BEGIN…END用来表示一个语句块,凡是在BEGIN与END之间的程序都属于同一个流程控制,通常都是与IF…ELSE或WHILE等一起使用的。

2.返回客户端消息语句

PRINT语句的功能是将用户定义的消息返回客户端。

3.等待语句

WAITFOR语句是等待语句,该语句可以指定它以后的语句在某个时间间隔之后执行,或未来的某一时间执行。语法如下:

WAITFOR{DELAY‘time’|TIME‘time’}

参数含义:

DELAY‘time’是指定SQLServer等待的时间间隔,最长可达24小时。

TIME‘time’是指定SQLServer等待到某一时刻。

4.返回语句

【任务1】WAITFOR语句的应用:使用WAITFORTIME语句,以便在晚上10:30执行存储过程update_all_stats。

操作步骤如下:

①在查询窗口中输入以下命令文本:

BEGIN

WAITFORTIME‘22:30’

EXECUTEupdate_all_stats

END

②单击【执行】按钮即可。

【任务2】RETURN语句的应用:显示如果在执行findjobs时没有给出用户名作为参数,RETURN则将一条消息发送到用户的屏幕上后从过程中退出;如果给出用户名,将从适当的系统表中检索由该用户在当前数据库内创建的所有对象名。子任务2分支结构

分支结构控制语句包括IF条件语句、CASE判断语句和GOTO无条件跳转语句。本子任务介绍这三种语句在分支结构中的应用。1. IF条件

2. CASE判断语句

3.无条件转移语句

【任务1】IF语句的应用:删除满足条件的学生记录。

操作步骤如下:

①在查询窗口中输入以下命令文本:

USE班级管理系统

GO

IFEXISTS

(SELECT*FROM学生信息表WHERE学号='2007110102')

BEGIN

DELETE学生信息表

WHERE学号=‘2007110102’

PRINT‘学号=2007110102已被删除’

END

②单击【执行】按钮,结果如图6-2所示。图6-2子任务1的执行结果

【任务2】IF语句的应用:在屏幕上显示成绩信息表中的成绩及格情况。

【任务3】CASE语句的应用:在学生信息表中利用学号进行系别说明并排序。

①在查询窗口中输入以下命令文本:

Use班级管理系统

select姓名,系别=

casesubstring(学号,5,1)

when‘1’then‘会计系’

when‘3’then‘计算机系’

when‘4’then‘机电系’

end

from学生信息表

orderby学号

②单击【执行】按钮,得到结果如图6-3所示。图6-3任务3执行结果

【任务4】CASE语句的应用:根据“学生信息表”中的学生出生日期范围来评定学生受教育的早晚。

单击【执行】按钮,得到结果如图6-4所示。图6-4任务4执行结果

【任务5】GOTO语句的应用:利用GOTO语句计算0~100之间所有数的和。子任务3循环结构

循环结构控制语句包括WHILE循环语句、BREAK结束循环语句和CONTINUE跳到下一次循环语句。本子任务介绍这三种语句在循环结构中的应用。

【任务1】WHILE语句的应用:计算1~100之间所有偶数之和,但是如果和大于2000,则立刻跳出循环并输出结果。函数对于任何程序设计语言来说都是非常关键的组成部分。SQLServer2008不仅提供了系统函数,而且允许用户创建自定义的函数。系统函数使得用户可以访问SQLServer2008系统表中的信息,而用户自定义函数是接受参数、执行操作并将操作结果以值的形式返回的子程序。本工作任务是对T-SQL语言中的函数的应用。工作任务2函数子任务1系统函数

SQLServer2008提供的函数分为以下几类:字符串函数、日期函数、系统函数、聚合函数、数学函数、元数据函数、安全函数、行集函数、游标函数、配置函数、文本和图像函数。本工作任务是对T-SQL语言提供的系统函数的应用。

1.行集函数

行集函数可以在T-SQL语句中当作表引用来返回对象。

2.聚合函数

聚合函数用于对一组值进行计算并返回一个单一的值。

3.数学函数

算术函数(例如ABS、CEILING、DEGREES、FLOOR、POWER、RADIANS和SIGN)返回与输入值具有相同数据类型的值。

4.字符串函数

字符串函数对字符串进行操作,以下列出SQLServer的字符串函数及简要说明和示例。

5.日期函数

日期和时间函数对日期和时间输入值执行操作,并返回一个字符串、数字值或日期和时间值。

6.元数据函数

元数据函数用于返回有关数据库和数据库对象的信息。

7.系统函数

系统函数用于获得有关服务器、用户、数据库状态等系统信息。

【任务1】AVG函数的应用:统计所有学生成绩的平均值。

操作步骤如下:

①在查询窗口中输入以下命令文本:

USE班级管理系统

SELECTAVG(成绩)as平均成绩

FROM成绩信息表

GO

②单击【执行】按钮。

【任务2】ABS函数的应用:计算“-8.5”的绝对值。

【任务3】LEFT函数的应用:取“CHINA”字符串的左边两位字符。

【任务4】REPLACE函数的应用:字符串替换。

【任务5】DATEDIFF函数的应用:计算“出生日期”和当前日期之间经过了多少天。

【任务6】COL_LENGTH函数的应用:返回“学生信息表”中“学号”列的定义长度。

【任务7】IDENTITY函数的应用:将“学生信息表”中学号的前四位是“2008”的所有行都插入到名为“学生2008”的新表中。使用IDENTITY函数在“学生”表中创建“序号”标识列,其值从100开始。子任务2自定义函数

SQLServer2008不仅提供了系统函数,而且允许用户创建自定义的函数。用户自定义函数可以接受参数、执行操作并将操作结果以值的形式返回到子程序。本子任务是对自定义函数的应用与管理。

1.用户自定义函数概述

用户在编写程序的过程中除了可以调用系统函数外,还可以根据自己的需要自定义函数。

2.用户自定义函数的创建

1)创建标量函数

标量函数往往根据输入参数值的不同来获得不同的函数值,在标量函数中可以使用多个输入参数,而函数的返回值却只能有一个。

2)内嵌表值函数

该函数返回的都是一个表(table),而不是一个标量数据。返回表值函数可以提供参数化视图功能,可用在T-SQL查询中允许有表或视图表达式的地方。

3)多语句表值函数

多语句表值函数也是返回表的函数,内嵌表值函数返回的是单个SELECT语句的结果集。

3.用户自定义函数调用

函数创建成功后,就可以调用函数了。

4.修改或删除用户定义函数的语句

【任务1】

自定义函数oldyear的应用:在“班级管理系统”数据库中,创建名为“oldyear”的函数,用于计算学生的年龄。

【任务2】

自定义标量函数max2的应用:创建一个标量函数,该函数返回两个参数中的最大值。

【任务3】

内嵌表值函数“stuxi”的应用:创建一个名为“stuxi”的函数用于返回学生信息表中属于同一个系的学生的部分信息。

【任务4】多语句表值函数f_stu的应用:在“班级管理系统”数据库中创建一个多语句表值自定义函数,它可以返回学生信息表的姓名或系别与姓名的组合(这个取决于用户提供的参数)。

【任务5】

调用标量函数max2:使用EXEC语句调用max2函数,参数的标识次序与函数定义中的参数标识次序不同。

【任务6】

调用内联表值函数stuxi:调用stuxi,返回某一院系的学生情况。本情境主要介绍T-SQL的语言基础。通过示例介绍了流程控制语句和函数的用法;包括全局变量、用户自定义变量、各种控制语句、系统函数及用户自定义函数的用法。情境总结填空题

1.规则是一种约束,用于执行一些与CHECK约束相同的功能。一个列只能应用一个

,但可以应用多个

2.在学生

温馨提示

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

评论

0/150

提交评论