第8章 使用Transact-SQL语言编程-2ppt课件.ppt
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《第8章 使用Transact-SQL语言编程-2ppt课件.ppt》由会员分享,可在线阅读,更多相关《第8章 使用Transact-SQL语言编程-2ppt课件.ppt(109页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、在此输入您的封面副标题第8章 使用Transact-SQL语言编程-2中国铁道出版社中国铁道出版社3【能力目标】【能力目标】 能使用T-SQL的表达式和基本流程控制语句 能使用各种常用的系统内置函数 能定义与调用用户定义函数 能使用游标第第8章章 使用使用Transact-SQL语言编程语言编程4【项目描述】【项目描述】 使用Transact-SQL 编写批处理与程序流程控制语句程序。练习Transact-SQL语言的函数并创建使用游标。第第8章章 使用使用Transact-SQL语言编程语言编程5【项目分析】【项目分析】 SQL(Structure Query Language)语言是用于数
2、据库查询的结构化语言。1982年美国国家标准化组织ANSI确认SQL为数据库系统的工业标准。目前,许多关系型数据库管理系统都支持SQL语言,如:Access、Orcal、Sybase、DB2等。T-SQL(Transact-SQL)在支持标准SQL的同时,还对其进行了扩充,引入了变量定义、流程控制和自定义存储过程等语句,极大地扩展了SQL Server 2008的功能。使用数据库的客户或应用程序都是通过T-SQL语言来操作数据库的,本项目主要介绍T-SQL程序设计基础知识。第第8章章 使用使用Transact-SQL语言编程语言编程6【任务设置】【任务设置】 任务1认知T-SQL语言编程基础任
3、务2编写批处理与程序流程控制语句任务3使用系统内置函数任务4编写用户定义函数任务5使用游标实训九程序设计第第8章章 使用使用Transact-SQL语言编程语言编程7【项目定位】【项目定位】数据库系统开发第第8章章 使用使用Transact-SQL语言编程语言编程8【任务目标】【任务目标】 了解Transact-SQL语言编程知识 掌握Transact-SQL语法规则 学会在Transact-SQL中使用常量、变量、标示符、运算符表达式-任务1 认知Transact-SQL语言编程基础第第8章章 使用使用Transact-SQL语言编程语言编程9【任务描述】【任务描述】 局部变量和全局变量的使
4、用1利用ServerName查看本地服务器名称,并利用Connections显示截止到当前时刻试图登录SQL Server的次数。2查看Student表的所有记录并利用Rowcount统计记录数。3. 声明一个整型的局部变量Nnm的语句为: ,对该变量赋值500的语句为: 。4. X是一个全局变量吗?5将字符串“china”赋给一个局部变量chr,并输出chr的值。6将XSDA表中第一个男生的姓名赋给局部变量name。-任务1 认知Transact-SQL语言编程基础第第8章章 使用使用Transact-SQL语言编程语言编程10【任务分析】【任务分析】在SQL Server数据库中,T-SQ
5、L语言由以下几部分组成。(1)数据定义语言(DDL)。(2)数据操纵语言(DML)。(3)数据控制语言(DCL)。(4)T-SQL增加的语言元素。-任务1 认知Transact-SQL语言编程基础第第8章章 使用使用Transact-SQL语言编程语言编程111 1标识符标识符 数据库对象的名称被看成是该对象的标识符。在SQL Server中标识符可以分成两类:常规标识符与分隔标识符。由于分隔标识符不常用,我们只介绍常规标识符的使用。-任务1 认知Transact-SQL语言编程基础第第8章章 使用使用Transact-SQL语言编程语言编程12常规标识符应符合如下规则:(1)第一个字符必须是
6、下列字符之一:ASCII字符、Unicode字符、下划线 _ 、或#。在 SQL Server 中,某些处于标识符开始位置的符号具有特殊意义,以开始的标识符表示局部变量或参数,以一个数字符号开始的标识符表示临时表或过程,以#开始的标识符表示全局临时对象。(2)后续字符可以是:ASCII字符、Unicode字符、下划线 _ 、美元符号 $ 或数字符号。(3)标识符不能是 T-SQL 的保留字。(4)不允许嵌入空格或其它特殊字符。 -任务1 认知Transact-SQL语言编程基础第第8章章 使用使用Transact-SQL语言编程语言编程132 2注释注释 注释是为SQL语句加上解释和说明,以说
7、明该代码的含义,增加代码的可读性。T-SQL支持以下两种类型的注释:(1)多行注释使用“/*”和“*/”将注释括起来可以连续书写多行的注释语句,例如:/*使用GROUP BY子句和聚合函数对数据进行分组后,再使用HAVING子句对分组数据进一步筛选*/(2)单行注释使用“-”表示书写单行注释语句,例如:-声明局部变量 -任务1 认知Transact-SQL语言编程基础第第8章章 使用使用Transact-SQL语言编程语言编程14 常量是指在程序运行过程中其值不变的量。常量又称为标量值。常量的使用格式取决于它所表示的值的数据类型。 根据常量值的不同类型,常量分为字符串常量、整型常量、实型常量、
8、日期时间常量、货币常量、惟一标识常量。常量的格式取决于它所表示的值的数据类型,如表8-1所示。-任务1 认知Transact-SQL语言编程基础第第8章章 使用使用Transact-SQL语言编程语言编程15-任务1 认知Transact-SQL语言编程基础表8-1 SQL常量类型表第第8章章 使用使用Transact-SQL语言编程语言编程16 变量是指在程序运行过程中其值可以改变的量。变量有名字和数据类型两个属性,变量名用于标识该变量,必须是合法的标识符。变量的数据类型确定了该变量存放值的格式及允许的运算。变量可分为局部变量和全局变量。-任务1 认知Transact-SQL语言编程基础第第
9、8章章 使用使用Transact-SQL语言编程语言编程171 1局部变量局部变量 局部变量是用户定义的变量,用于保存单个数据值。局部变量常用保存程序运行的中间结果或作为循环变量使用。(1)局部变量的定义 局部变量必须用DECLARE语句声明后才可以使用,所有局部变量在声明后均初始化为NULL。-任务1 认知Transact-SQL语言编程基础第第8章章 使用使用Transact-SQL语言编程语言编程18语法格式:DECLARE local_variable data_type ,n说明:local_variable:局部变量名,应为常规标识符。局部变量名必须以开头。data_type:数据
10、类型,用于定义局部变量的类型,可为系统类型或自定义类型。n:表示可定义多个变量,各变量间用“,”隔开。局部变量的作用范围从声明该局部变量的地方开始,到声明的批处理或存储过程的结尾。批处理或存储过程结束后,存储在局部变量中的信息将丢失。-任务1 认知Transact-SQL语言编程基础第第8章章 使用使用Transact-SQL语言编程语言编程19(2)局部变量的赋值 当局部变量声明之后,可用SET或SELECT语句给其赋值。 用SET语句赋值语法格式:SET local_variable=expression说明:local_variable:是除cursor、text、ntext、image
11、外的任何类型变量。expression:是任何有效的SQL Server表达式。一条SET语句一次只能给一个局部变量赋值。-任务1 认知Transact-SQL语言编程基础第第8章章 使用使用Transact-SQL语言编程语言编程20【例8-1】创建局部变量var1、var2,并赋值,然后输出变量的值。【例8-2】创建一个名为xm的局部变量,并在SELECT语句中使用该局部变量查找表XSDA中所有管理系学生的姓名、总学分。【例8-3】使用查询给变量赋值。-任务1 认知Transact-SQL语言编程基础第第8章章 使用使用Transact-SQL语言编程语言编程21 用SELECT语句赋值语
12、法格式:SELECT local_variable=expression ,n说明:local_variable:是除cursor、text、ntext、image外的任何类型变量。expression:是任何有效的SQL Server表达式。n:表示可给多个变量赋值。SELECT通常用于将单个值返回到变量中,当expression为表的列名时,可使用子查询功能从表中一次返回多个值,此时将返回的最后一个值赋给变量。如果子查询没有返回值,则将变量设为NULL。如果省略了赋值号及后面的表达式,则可以将局部变量的值显示出来,起到输出显示局部变量值的作用。-任务1 认知Transact-SQL语言编程
13、基础第第8章章 使用使用Transact-SQL语言编程语言编程22【例8-4】创建局部变量var1、var2,并赋值,然后输出变量的值。【例8-5】使用查询给变量赋值。 注意:本例的子查询结果返回XSDA表中所有学生的姓名,name中保存的是最后一个学生的姓名。-任务1 认知Transact-SQL语言编程基础第第8章章 使用使用Transact-SQL语言编程语言编程232 2全局变量全局变量 全局变量是由系统提供并赋值,而且预先声明的用来保存SQL Server系统运行状态数据值的变量。用户不能定义全局变量,也不能用SET语句和SELECT语句修改全局变量的值。通常可以将全局变量的值赋给
14、局部变量,以便保存和处理。全局变量名以“”开头。事实上,在SQL Server中,全局变量是一组特定的函数,不需要任何参数,在调用时无需在函数名后面加括号,这些函数也称为无参数函数。-任务1 认知Transact-SQL语言编程基础第第8章章 使用使用Transact-SQL语言编程语言编程24 全局变量分为两类:一是与SQL Server连接有关的全局变量,如:rowcount表示受最近一个语句影响的行数;二是与系统内部信息有关的全局变量,如:version表示SQL Server的版本号。SQL Server提供了30多个全局变量,表8-2介绍几个常用的全局变量。-任务1 认知Transa
15、ct-SQL语言编程基础第第8章章 使用使用Transact-SQL语言编程语言编程25-任务1 认知Transact-SQL语言编程基础表8-2 SQL常用的全局变量表【例8-6】利用全局变量查看SQL Server版本和当前使用的语言。第第8章章 使用使用Transact-SQL语言编程语言编程26 SQL Server2008提供的常用运算符有:算术运算符、字符串连接运算符、比较运算符、逻辑运算符四种,本节介绍这些常用的运算符。有关一元运算符、位运算符、赋值运算符的使用请查阅联机帮助。 通过运算符连接运算量构成表达式。-任务1 认知Transact-SQL语言编程基础第第8章章 使用使用
16、Transact-SQL语言编程语言编程271 1算术运算符算术运算符算术运算符包括:+(加)、-(减)、*(乘)、/(除)和%(求模),参与运算的数据是数值类型数据,其运算结果也是数值类型数据。加、减运算符也可用于对日期型数据进行运算,还可进行数字字符数据与数值类型数据进行运算。【例8-7】算术运算符的使用。-任务1 认知Transact-SQL语言编程基础2 2字符串连接运算符字符串连接运算符字符串连接运算符用”+”表示,可以实现字符串之间的连接。参与字符串连接运算的数据只能是字符数据类型:char、varchar、nchar、nvarchar、text、ntext,其运算结果也是字符数据
17、类型。【例8-8】字符串连接运算符的使用。第第8章章 使用使用Transact-SQL语言编程语言编程283 3比较运算符比较运算符比较运算符(又称为关系运算符)如表8-3所示,用来对两个相同类型表达式的顺序、大小、相同与否进行比较。除了text、ntext或image数据类型的表达式外,比较运算符可以用于所有的表达式,即用于数值大小的比较、字符串排列顺序的前后比较、日期数据前后比较。比较运算结果有三种值: TRUE(正确)、FALSE(错误)、UNKNOWN(未知)。比较表达式用于IF语句和WHILE语句的条件、WHERE子句和HAVING子句的条件。【例8-9】比较运算符的使用。-任务1
18、认知Transact-SQL语言编程基础表8-3 比较运算符表第第8章章 使用使用Transact-SQL语言编程语言编程29-任务1 认知Transact-SQL语言编程基础表8-3 比较运算符表第第8章章 使用使用Transact-SQL语言编程语言编程304 4逻辑运算符逻辑运算符 逻辑运算符用于对某个条件进行测试,如表8-4所示。逻辑运算符和比较运算符一样,返回带有TRUE或FALSE值的布尔数据类型。逻辑表达式用于IF语句和WHILE语句的条件、WHERE子句和HAVING子句的条件。-任务1 认知Transact-SQL语言编程基础第第8章章 使用使用Transact-SQL语言编
19、程语言编程31-任务1 认知Transact-SQL语言编程基础表8-4 逻辑运算符表 ANY、SOME、ALL一般用于比较子查询,这种查询可以认为是IN子查询的扩展,它使表达式的值与子查询的结果进行比较运算。语法格式:expression | | = | | != | ! ALL | SOME | ANY (subquery)第第8章章 使用使用Transact-SQL语言编程语言编程32说明:expression是要进行比较的表达式。 = | | != | | = | ! | | = | !ALL:表示大于每一个值,即大于最大值。例如,ALL (1, 2, 3) 表示大于3,因此,使用AL
20、L的子查询也可用MAX函数实现。ANY:表示至少大于一个值,即大于最小值。例如,ANY (1, 2, 3) 表示大于 1,因此,使用ANY的子查询也可用MIN函数实现。=ANY:与IN等效。ALL:与NOT IN 等效。-任务1 认知Transact-SQL语言编程基础第第8章章 使用使用Transact-SQL语言编程语言编程33【例8-10】查询比信息系所有学生的年龄都小的学生的学号、姓名及出生日期。【例8-11】查询成绩高于方平最低成绩的学生姓名、课程名称及成绩。-任务1 认知Transact-SQL语言编程基础第第8章章 使用使用Transact-SQL语言编程语言编程345 5运算符
21、的优先级运算符的优先级 当一个复杂的表达式中包含多个运算符时,运算符优先级将决定执行运算的先后次序。执行的顺序会影响所得到的运算结果。运算符优先级如表8-5所示。在一个表达式中按先高(优先级数字小)后低(优先级数大)的顺序进行运算。-任务1 认知Transact-SQL语言编程基础表8-5 运算符优先级表第第8章章 使用使用Transact-SQL语言编程语言编程35 当一个表达式中的两个运算符有相同的优先级时,根据它们在表达式中的位置,一般而言,一元运算符按从右向左的顺序运算,二元运算符对其从左到右进行运算。 表达式中可用括号改变运算符的优先级,先对括号内的表达式求值,然后对括号外的运算符进
22、行运算。 若表达式中有嵌套的括号,则首先对嵌套最深的表达式求值。-任务1 认知Transact-SQL语言编程基础第第8章章 使用使用Transact-SQL语言编程语言编程361利用ServerName查看本地服务器名称,并利用Connections显示截止到当前时刻试图登录SQL Server的次数。2查看Student表的所有记录并利用Rowcount统计记录数。3. 声明一个整型的局部变量Nnm的语句为: ,对该变量赋值500的语句为: 。4. X是一个全局变量吗?5将字符串“china”赋给一个局部变量chr,并输出chr的值。6将XSDA表中第一个男生的姓名赋给局部变量name。-
23、任务1 认知Transact-SQL语言编程基础第第8章章 使用使用Transact-SQL语言编程语言编程37【任务目标】【任务目标】 学会书写批处理语句 学会流控语句编程【任务描述】【任务描述】流程控制语句使用1用循环语句编写s=2+4+6+8+10程序。 -任务2 批处理与程序流程控制语句第第8章章 使用使用Transact-SQL语言编程语言编程38【任务分析】【任务分析】 SQL Server服务器端的程序通常使用SQL语句来编写。当任务不能由单独的T-SQL语句来完成时,SQL Server通常使用批处理来组织多条T-SQL语句完成任务。一般而言,一个服务器端的程序是由以下一些成分
24、组成:批、注释、变量、流程控制语句、消息处理等。-任务2 批处理与程序流程控制语句第第8章章 使用使用Transact-SQL语言编程语言编程39 批处理是由一条或多条T-SQL语句组成的,应用程序将这些语句作为一个单元一次性地发送到SQL SERVER服务器执行。批处理结束的标志是“GO”。-任务2 批处理与程序流程控制语句第第8章章 使用使用Transact-SQL语言编程语言编程40使用批处理时应遵守以下规则:CREATE DEFAULT、CREATE PROCEDURE、CREATE RULE、CREATE TRIGGER 和 CREATE VIEW 语句不能在批处理中与其它语句组合使
25、用。批处理必须以 CREATE 语句开始,所有跟在CREATE后的其它语句将被解释为第一个 CREATE 语句定义的一部分。不能把规则和默认值绑定到表字段或用户定义数据类型之后,在同一个批处理中使用它们。 不能在给表字段定义了一个CHECK约束后,在同一个批处理中使用该约束。在同一个批处理中不能删除一个数据库对象又重建它。不能在修改表的字段名后,在同一个批处理中引用该新字段名。调用存储过程时,若它不是批处理中的第一条语句,那么在它前面必须加上EXECUTE(或EXEC)。-任务2 批处理与程序流程控制语句第第8章章 使用使用Transact-SQL语言编程语言编程41 设计程序时,常常需要利用
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第8章 使用Transact-SQL语言编程-2ppt课件 使用 Transact SQL 语言 编程 ppt 课件
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内