数据库基础及其应用 计算机类 教学课件 ppt 作者 李法春 任务五

上传人:E**** 文档编号:89516801 上传时间:2019-05-26 格式:PPT 页数:99 大小:1.62MB
返回 下载 相关 举报
数据库基础及其应用 计算机类  教学课件 ppt 作者 李法春 任务五_第1页
第1页 / 共99页
数据库基础及其应用 计算机类  教学课件 ppt 作者 李法春 任务五_第2页
第2页 / 共99页
数据库基础及其应用 计算机类  教学课件 ppt 作者 李法春 任务五_第3页
第3页 / 共99页
数据库基础及其应用 计算机类  教学课件 ppt 作者 李法春 任务五_第4页
第4页 / 共99页
数据库基础及其应用 计算机类  教学课件 ppt 作者 李法春 任务五_第5页
第5页 / 共99页
点击查看更多>>
资源描述

《数据库基础及其应用 计算机类 教学课件 ppt 作者 李法春 任务五》由会员分享,可在线阅读,更多相关《数据库基础及其应用 计算机类 教学课件 ppt 作者 李法春 任务五(99页珍藏版)》请在金锄头文库上搜索。

1、任务五 创建存储过程,任务单,任务五 创建存储过程,5.1 T-SQL程序设计 5.2 创建存储过程,任务准备,存储过程是T-SQL语句的集合,而T-SQL语句除包括前面任务中所学过的数据库(表)操作语句外,还有流程控制语句等,因此在学习存储过程之前,还要学习T-SQL编程的基本概念及流程控制语句、事务的含义及其作用。,组织多条的T-SQL语句的方法,(1)批:批是包含一条或多条T-SQL语句的语句组,语句组将由应用程序一次性发送给SQL Server服务器执行,而SQL Server服务器在执行中,也将批处理语句编译成一个可执行单元。 (2)脚本:脚本是存储在后缀为.sql的文件中的一系列T

2、-SQL语句,其中可以包含多个批,该文件在查询分析器中打开并执行。 (3)存储过程:存储过程是在服务器上事先定义并编译好的一组T-SQL语句,提供较好的执行速度,可以接收参数并提供返回值,通常被应用于WEB服务中。 (4)触发器:触发器是一类特殊的存储过程,具备事务的全部特征,它不能在应用程序中直接被调用,而是按照设定条件,在用户对表中的数据进行某一操作(包括insert、update和delete等操作)时,自动被触发执行。,5.1 Transact-SQL程序设计,5.1.1 Transact-SQL语言简介 SQL语言是一种介于关系代数与关系演算之间的语言,其功能包括查询、操纵、定义和控

3、制4个方面,是一个通用的功能极强的关系数据库语言。 SQL语言是1974年由Boyce和Chamberlin提出的,称为SEQUEL语言。后来,1976年,IBM公司San Jose研究所在研制关系数据库管理系统原形系统System R时修改成SQUEL2,也就是目前的SQL语言。1976年,SQL开始在商品化关系数据库管理系统中应用。1982年美国国家标准化组织ANSI确认SQL为数据库系统的工业标准。目前,许多关系型数据库供应商都在自己的数据库中采用了SQL语言,例如Access、Oracle、Sybase、Infomix、DB2等。,Transact-SQL语言由四个部分组成:,(1)数

4、据定义语言DDL(Data Definition Language) 用来建立数据库、数据库对象等,大部分是以CREATE 开头的命令,如CREATE TABLE、CREATE VIEW、DROP TABLE等。 (2)数据操纵语言DML(Data Manipulation Language) 用来操纵数据库中数据的命令,如SELECT、INSERT、UPDATE、DELETE、CURSOR等。 (3)数据控制语言DCL(Data Control Language) 用来控制数据库组件的存取许可、存取权限等的命令,如GRANT、REVOKE 等。 (4)附加的语言元素 不是ANSI SQL-9

5、9的内容,而是Transact-SQL语言为了编程增加的语言元素,包括变量、运算符、函数、流程控制语句和注释等。,5.1.2 变量,SQL Server中的定义的变量分为全局变量和局部变量: 全局变量命名以字符开头,由系统定义和维护,用户只能读取,又称为系统变量; 局部变量的命名以字符开始,由用户定义和赋值,又称为用户自定义变量。,1全局变量,全局变量被SQL Server用来来记录SQL Server服务器的活动状态。它是一组已经由SQL Server事先定义好的变量,这些变量不能由用户定义,因此,对用户而言,它是只读的,在引用全局变量时,必须以“”开头。,常用的全局变量,(1)REMSER

6、VER:返回远程SQL Server 数据库服务器的名称。 (2)ROWCOUNT:返回上一次语句影响的数据行的行数。 (3)SERVERNAME:返回本地运行SQL Server 的数据库服务器的名称。 (4)VERSION:返回当前安装的SQL Server 的版本和操作系统的版本。 (5)ERROR:返回执行Transact-SQL 语句的错误代码。 (6)FETCH_STATUS:返回上一次FETCH 语句的状态值。,2局部变量,T-SQL局部变量是指在T-SQL批处理和脚本中用来保存数据值的对象。在声明或定义了局部变量之后,就可以在批处理或脚本中使用T-SQL语句设置局部变量的值,而

7、位于该批处理或脚本后面的语句可以从经过赋值后的变量中获得这个值。,(1)声明局部变量,格式:DECLARE 变量名称 数据类型,n 注意:局部变量仅作用于其所在的批内。,(2)局部变量的赋值:,格式一:SET 变量名称表达式 格式二:SELECT 变量名称表达式,n FROM 表名 WHERE 条件,5.1.3 运算符,1算术运算符 算术运算符在数值列、常量和变量上执行计算。,5.1.3 运算符,2比较运算符 比较运算符通常用于比较两个表达式,其结果为布尔值(即真和假)。 3逻辑运算符 逻辑运算符把两个逻辑表达式连接起来,逻辑运算符包括AND(与)、OR(或)和NOT(非),常用于连接WHER

8、E子句中的搜索条件。 4字符串连接运算符 字符串连接运算符()是把两个字符串连接起来。字符串连接运行符的操作数类型有char、varchar、text等类型。 在Transact-SQL语句中,进行整数数据的位运算时,SQL Server首先将这些数据转换为二进制数,然后再进行计算。,5位运算符,位运算符用于对数据进行位与(&)、或(|)、异或()、求反()等运算。,运算符的优先级,5.1.4 T-SQL语句,1注释语句 注释语句是指程序中用来说明程序内容的语句 1)行注释使用“-”,如例5-2中的“-设netshop为当前数据库”。 2)块注释与C语言一样使用“/* */”, 如例5-2中的

9、“/*查看顾客表的所有信息*/”,2批处理语句,如果批处理中的某一条语句发生编译错误,那么将导致执行计划无法编译,从而批处理中的任何语句都无法执行。 经过编译后的批处理仍然可能在运行时产生错误,通常情况下,这些运行错误将导致批处理停止执行,因此发生错误的语句及其后的语句都将无法执行,当然,也有少数运行错误,例如约束错误等,仅终止当前语句的执行,而继续执行批处理中的其它语句。 在书写批处理语句时,需要使用GO语句作为批处理命令的结束标志。当编译器读取到GO语句时,它会把GO语句前面所有的语句当做一个批处理,并将这些语句打包发送给服务器。,注 意:,(1)CREATE DEFAULT、CREATE

10、 PROCEDURE、CREATE RULE、CREATE TRIGGER和CREATE VIEW等创建数据库对象语句在同一个批处理中只能提交一个,且上述语句必须处于批的第一条语句。 (2)对新创建或修改的数据库对象的语句,不能在同一个批中之后的语句立即对该数据库对象进行引用。数据库对象包括表、视图、规则、默认值、存储过程、用户自定义函数、用户自定义数据类型等。 (3)对新创建的依附于表的CHECK约束或触发器的语句,同样不能在同一个批中之后的语句立即进行引用使用。 (4)如果批处理中第一条语句是执行某个存储过程的EXECUTE语句,则EXECUTE关键字也可省略不写;如果该语句不是第一条语句

11、,则必须使用EXECUTE关键字。,3PRINT语句,PRINT语句用于把消息传递客户应用程序的消息处理程序,通常是在用户屏幕上显示。消息可以是小于256个字符的文本。 PRINT语句只能传输文本型的字符串,或者是单个的字符型变量,变量可以是系统提供的全局变量也可以是用户自定义局部变量。 语法格式: PRINT 变量名或常量字符串,4流程控制语句,(1)BEGINEND,BEGINEND语句可以用于将多条T-SQL语句组合起来,构成一个语句块,在处理时,整个语句块被视为一条语句。 BEGIN和END分别表示语句块的开始和结束,且必须成对使用。 语法格式: BEGIN 多条语句 END,(2)I

12、F.ELSE语句,IF.ELSE用于条件的测试,系统将根据条件满足与否来决定语句程序流。 语法格式: IF 逻辑表达式 /*条件真假判定*/ 语句块1 ELSE 语句块2 说明:当“逻辑表达式”为“真”时,执行语句块1,否则,执行语句块2。,(3)CASE表达式,CASE表达式是一个特殊的T-SQL表达式,他能快速地实现多重选择的情况。 语法格式: CASE 字段名或变量名 WHEN 逻辑表达式1 THEN 结果表达式1 WHEN 逻辑表达式2 THEN 结果表达式2 WHEN 逻辑表达式N THEN 结果表达式N ELSE 结果表达式 END,(4)WHILE语句,WHILE 逻辑表达式 B

13、EGIN 语句块 BREAK CONTINUE END,(5)WAITFOR语句,WAITFOR语句用于使查询在某一时刻或在一段时间间隔后继续执行。 WAITFOR语句的语法形式有两种,分别是设置指定时间间隔和设置一天中固定时刻来控制执行。 具体格式如下: 1)WAITFOR DELAY 时间间隔 说明:时间间隔指的是指定执行WAITFOR语句后需要等待的时间,最长24小时。 2)WAITFOR TIME 时间点 说明:时间点指的是指定WAITFOR语句将要执行的时刻。,(6)RETURN语句,该语句用于无条件终止查询、存储过程或批处理,返回到上一个调用它的程序或其它程序,可指定一个返回值。

14、其语法格式如下: RETURN 整数值 如果在存储过程中使用RETURN语句,那么这个语句可以用来返回给调用应用程序、批处理或过程的整数值;如果没有指定整数值,那么这个存储过程将返回 0。,5.1.5 函数,函数是由一条或多条T-SQL语句组成的代码段,用于实现特定的功能,可被任意主程序调用,SQL Server本身除了提供了许多内置系统函数,还允许用户创建自定义函数。 SQL Server 2000支持三种用户自定义函数: 1)返回数值的用户自定义函数。 2)内联(单语句)的返回表的用户自定义函数。 3)多语句的返回表的用户自定义函数。,SQL Server中最常用的几种函数:,统计函数:用

15、于对各数据的合计、求平均值等 日期和时间函数:对日期和时间进行操作的函数 算术函数:进行数值计算 字符串函数:对字符型数据进行操作的函数 文本/图像函数:对文本和图像输入参数进行操作 系统函数:包括数据转换函数,1. 统计函数,数据统计函数可以对一系列数值进行运算,并返回一个数值型的计算结果,常用于GROUP BY子句中,但其他地方也经常使用。 1)AVG():用于计算大量数据的平均值。 2)COUNT():返回参数中非NULL值的数目(最常见的用途是:计算机表中满足各种特定条件的数据的数目)。 3)SUN():用于计算指定数据项的总和。 4)MAX():计算多个数据项当中的最大值。 5)MI

16、N():计算多个数据项当中的最小值。,2算术函数,算术函数用于对数字表达式进行数学运算并返回运算结果。数学函数可以对SQL Server提供的数字数据(decimal、integer、float、real、money、smallmoney、smallint 和 tinyint)进行处理。,SQL Server 2000中的算术函数,程序举例:,在同一表达式中使用CEILING()、FLOOR()、ROUND()函数。 select ceiling(13.4), floor(13.4), round(13.4567,3) 运行结果为: - - - 14 13 13.4570,3. 字符串函数,字符串函数对二进制数据、字符串和表达式执行不同的运算,大多数字符串函数只能用于char和varchar数据类型以及明确转换成char和varchar的数据类型,少数几个字符串函数也可以用于binary和var

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号