- 4
- 0
- 约7.22千字
- 约 31页
- 2015-12-13 发布于广东
- 举报
第10章 存储过程、触发器 在线教务辅导网: 教材其余课件及动画素材请查阅在线教务辅导网 QQ:349134187 或者直接输入下面地址: 存储过程、触发器和游标是SQL Server数据库的三个重要组成部分。SQL Server 2008使用它们从不同方面提高数据处理能力。 在SQL Server 2008中,可以像其他程序设计语言一样定义子程序,称为存储过程。存储过程是SQL Server 2008提供的最强大的工具之一。理解并运用它,可以创建健壮、安全且具有良好性能的数据库,可以为用户实现最复杂的商业事务。 触发器是一种特殊类型的存储过程:它通过事件触发而被自动执行。自动执行意味着更少的手工操作以及更小的出错机率。触发器用于强制复杂的完整性检查,审核更改,维护不规范的数据等等。SQL Server 2008允许DML语句和DDL语句创建触发器,可以引发AFTER或者INSTEAD OF触发事件。 游标主要用于实现一些不能使用面向集合的语句实现的操作。通过游标,SQL Server提供了一个对结果集进行逐行处理的能力。可以把游标看为一种特殊的指针,它可以指向结果集中的任意位置,在查询数据的同时对数据进行处理。 本章学习目标: 了解存储过程、触发器和游标的基本概念与特点 掌握存储过程的基本类型和相关操作 掌握触发器的类型与相关操作 10.1 存储过程 通过前面的学习,我们能够编写并运行T-SQL程序以完成各种不同的应用。保存T-SQL程序的方法有两种:一种是在本地保存程序的源文件,运行时先打开源文件再执行程序;另一种方法即将程序存储为存储过程,运行时调用存储过程执行。 因为存储过程是由一组T-SQL语句构成的,要使用存储过程,我们必需熟悉前面几章所讨论的基本的T-SQL语句,并且需要了解掌握一些关于函数、过程的概念。 10.1.1 存储过程的基本概念 存储过程是事先编好的、存储在数据库中一组被编译了的T-SQL命令集合,这些命令用来完成对数据库的指定操作:存储过程可以接收用户的输入参数、向客户端返回表格或标量结果和消息、调用数据定义语言 (DDL) 和数据操作语言 (DML) 语句,然后返回输出参数。 通过定义可以看到,存储过程起到了我们在其他语言中所说的子程序的作用,我们可以将经常执行的管理任务或者复杂的业务规则,预先用T-SQL语句写好并保存为存储过程, 当需要数据库提供与该存储过程的功能相同的服务时,只需要使用EXECUTE命令,即可调用存储过程完成命令。 储过程的优点: 1. 减少网络流量:存储过程在数据库服务器端执行,只向客户端返回执行结果。因此可以将在网络中要发送的数百行代码,编写为一条存储过程,这样客户端只需要提交存储过程的名称和参数,即可实现相应功能,节省了网络流量,提高了执行的效率。此外,由于所有的操作都在服务器端完成,避免了在客户端和服务器端之间的多次往返。存储过程只需要将最终结果通过网络传输到客户端。 2. 提高系统性能:一般T-SQL语句每执行一次就需要编译一次,而存储过程只在创建时进行编译,被编译后存放在数据库服务器的过程高速缓存中,当使用时,服务器不必再重新分析和编译它们。因此,当对数据库进行复杂操作时(如对多个表进行UPDATE、INSERT或DELETE操作时),可将这些复杂操作用存储过程封装起来与数据库提供的事务处理结合一起使用,节省了分析、解析和优化代码所需的CPU资源和时间。 3. 安全性高:使用存储过程可以完成所有数据库操作,并且可授予没有直接执行存储过程中语句的权限的用户,也可执行该存储过程的权限。另外可以防止用户直接访问表,强制用户使用存储过程执行特定的任务。 4. 可重用性:存储过程只需创建并存储在数据库中,以后即可任意在程序中调用该过程。存储过程可独立于程序源代码而单独修改,减少数据库开发人员的工作量。 5. 可自动完成需要预先执行的任务:存储过程可以在系统启动时自动执行,完成一些需要预先执行的任务,而不必在系统启动后再进行人工操作。 10.1.2 存储过程的类型 1. 系统存储过程 2. 扩展存储过程 3.用户存储过程 用户存储过程在用户数据库中创建,通常与数据库对象进行交互,用于完成特定数据库操作任务,可以接受和返回用户提供的参数,名称不能以sp_为前缀。 在SQL Server 2008中,用户存储过程有两种类型:Transact-SQL存储过程和存储过程。 Transact-SQL存储过程保存T-SQL语句的集合,可以接受和返回用户提供的参数,也可以从数据库向客户端应用程序返回数据; CLR存储过程是指对Microsoft.NET Framework公共语言运行时方法的引用,可以接受和返回用户提供的参数。它们在.NET Framework程序集
您可能关注的文档
- Red Hat Linux 9系统管理(第二版) 作者 978-7-302-14776-3 CH16.PPT
- Red Hat Linux 9系统管理(第二版) 作者 978-7-302-14776-3 CH17.PPT
- Red Hat Linux 9系统管理(第二版) 作者 978-7-302-14776-3 CH21.PPT
- Red Hat Linux 9系统管理(第二版) 作者 978-7-302-14776-3 CH22.PPT
- Red Hat Linux 9系统管理(第二版) 作者 978-7-302-14776-3 CH23.PPT
- Red Hat Linux 9系统管理(第二版) 作者 978-7-302-14776-3 CH24.PPT
- Red Hat Linux 9系统管理(第二版) 作者 978-7-302-14776-3 CH25.PPT
- Red Hat Linux基础教程(第二版) 作者 978-7-302-28872-5 chapter01.ppt
- Red Hat Linux基础教程(第二版) 作者 978-7-302-28872-5 chapter02.ppt
- Red Hat Linux基础教程(第二版) 作者 978-7-302-28872-5 chapter05.ppt
- SQL Server 2012数据库应用与开发教程(第三版) 作者 卫 琳 主编 模块3 T-SQL语言基础.ppt
- SQL Server 2012数据库应用与开发教程(第三版) 作者 卫 琳 主编 模块4 查询.ppt
- SQL Server 2012数据库应用与开发教程(第三版) 作者 卫 琳 主编 模块5 数据的更新.ppt
- SQL Server 2012数据库应用与开发教程(第三版) 作者 卫 琳 主编 模块9 存储过程和触发器.ppt
- SQL Server 2012数据库应用与开发教程(第三版) 作者 卫 琳 主编 模块11 SQLServer的安全机制.ppt
- SQL Server 2012数据库应用与开发教程(第三版) 作者 卫 琳 主编 模块12 数据库的备份与恢复.ppt
- SQL Server 2012数据库应用与开发教程(第三版) 作者 卫 琳 主编 模块13 分区管理及系统数据库的备份和还原.ppt
- SQL Server实用简明教程(第二版) 作者 ch03.ppt
- SQL Server实用简明教程(第二版) 作者 ch04.ppt
- SQL Server实用简明教程(第二版) 作者 ch07.ppt
最近下载
- 人教版(2024)三年级全一册信息科技全册教案.docx VIP
- 2025年贵州省高职分类考试中职类文化综合考试(语文).docx VIP
- 最新道德与法治三年级下册第四单元教学设计.docx VIP
- 2025年宇视科技笔试题及答案.doc VIP
- ISO 1461-2022中文+英文钢铁制品热浸镀锌层—规范和试验方法.pdf
- 2026年春季学期统编版语文三年级下册教学进度表.docx VIP
- ACT真题 2021年4月 (编号D05).pdf VIP
- 新《公司法》下国有企业吸收合并的法律路径、流程及实务操作要点解析.docx VIP
- 离心通风机结构设计.doc VIP
- 2025年贵州省高职分类考试中职类文化综合考试(英语).docx VIP
原创力文档

文档评论(0)