存储过程、触发器和游标汇总

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

存储过程、触发器和游标
▪ 1.3 创建存储过程
▪ 2.利用T-SQL语句创建存储过程 ▪ CREATE PROCEDURE创建存储过程,语法格式如下: ▪ CREATE { PROC | PROCEDURE } procedure_name [ ;
number ] ▪ [ { @parameter data_type } ▪ [ VARYING ] [ = default ] [ [ OUT [ PUT ] ] [ ,...n ] ▪ [ WITH { RECOMPILE | ENCRYPTION | RECOMPILE ,
▪ 1.2存储过程的类型
▪ 3.临时存储过程
▪ 临时存储过程可分为以下两种: ▪ (1)本地临时存储过程 ▪ 不论哪一个数据库是当前数据库,如果在创建存储过程
时,其名称以“#”号开头,则该存储过程将成为一个存 放在tempdb数据库中的本地临时存储过程。 ▪ (2)全局临时存储过程 ▪ 不论哪一个数据库是当前数据库,只要所创建的存储过 程名称是以两个“#”号开头,则该存储过程将成为一个 存储在tempdb数据库中的全局临时存储过程。
➢ (4)更好的利用服务器内存:特别对于处理中间数据量不 大的情况,存储过程中可以利用存放在内存的表变量。
存储过程、触发器和游标
▪ 1.1 存储过程概述 ▪ 一般来讲,应使用SQL Server中的存储过程而
不使用存储在客户计算机本地的 T-SQL 程序, 其优势主要表现在: ➢ (1)允许模块化程序设计。 ➢ (2)允许更快速地执行。 ➢ (3)减少网络流量。 ➢ (4)可作为安全机制使用。
但是临时存储过程通常是在tempdb数据库中创建 的。
▪ (3)在一条T-SQL语句中CREATE PROCEDURE 不能与其他T-SQL 句一起使用。
▪ (4)SQL Server允许在存储过程创建时引用一个不 存在的对象,在创建的时候,系统只检查创建存 储过程的语法。
存储过程、触发器和游标
▪ 1.3 创建存储过程 ▪ [例11-1]在教学库创建无参存储过程,
ENCRYPTION } [ ,...n ] ] ▪ [FOR REPLICATION] ▪ AS sql_statement [ ...n ]
存储过程、触发器和游标
▪ 1.3 创建存储过程
▪ 在创建存储过程时,应当注意以下几点。 ▪ (1)存储过程最大不能超过128MB。 ▪ (2)用户定义的存储过程只能在当前数据库中创建,
存储过程、触发器和游标
▪ 1.2存储过程的类型 ▪ 1.系统存储过程
▪ 主要存储在master数据库中并以sp_为前缀, 并且系统存储过程主要是从系统表中获取信息, 从而为数据库系统管理员管理SQL Server提供 支持。
▪ 通过系统存储过程,SQL Server中的许多管理 性或信息性的活动(如获取数据库和数据库对 象的信息)都可以被顺利有效地完成。
存储过程、触发器和游标
目标:
▪ 了解存储过程的优点 ▪ 掌握如何创建存储过程(参数、返回值) ▪ 掌握如何调用存储过程 ▪ 了解为什么需要触发器 ▪ 理解触发器的工作原理 ▪ 掌握如何使用inserted表和deleted表 ▪ 掌握如何创建:
➢ INSERT触发器 ➢ UPDATE触发器 ➢ DELETE触发器 ▪ 游标的基本更新 ▪ 理解游标的使用步骤
查询每个同学各门功课的平均成绩。
CREATE PROCEDURE student_avg AS SELECT 学生号, avg(成绩) as '平均分'
FROM 选课 GROUP BY 学生号
存储过程、触发器和游标
▪ 1.3 创建存储过程
▪ [例11-2]在教学库创建带参数的存储过程, 查询某个同学的基本信息。
存储过程、触发器和游标
▪ 1.3 创建存储过程
▪ 1.在SQL Server Management Studio中创建存储过程 ▪ 步骤如下: ▪ (1)打开SQL Server Management Studio,展开要创建
存储过程的数据库,展开“可编程性”选项,可以看到存 储过程列表中系统自动为数据库创建的系统存储过程。右 键单击“存储过程”选项,选“新建存储过程”命令。 ▪ (2)出现创建存储过程的T-SQL命令,编辑相关的命令即可。 ▪ (3)命令编辑成功后,进行语法检查,然后单击“确定”按 钮,至此一个新的存储过程建立成功。
存储过程、触发器和游标
▪ 1.1 存储过程概述 ➢ 一种数据库对象 ➢ 存储过程可以接受输入参数、输出参数,返 回单个或多个结果集以及返回值,由应用程 序通过调用执行。 ➢ SQL Server支持存储过程和系统过程。存储 过程是独立存在于表之外的数据对象。可以 由客户调用,也可以从另一个过程或触发器 调用,参数可以被传递和返回,出错代码也 可以被检验。
存储过程、触发器和游标
▪ 1.2存储过程的类型 ▪ 2.本地存储过程 ▪ 本地存储过程也就是用户自行创建并存储在用
户数据库中的存储过程,一般所说的存储过程 指的就是本地存储过程。
➢ 用户创建的存储过程是由用户创建并能完成某一特 定功能(如查询用户所需的数据信息)的存储过程。
存储过程、触发器和游标
存储过程、触发器和游标
▪ 1.1 存储过程概述
▪ 在性能方面,存储过程有如下优点:
➢ (1)预编译:存储过程预先编译好放在数据库内,减少编 译语句所花的时间。
➢ (2)缓存:编译好的存储过程会进入缓存,所以对于经常 执行的存储过程,除了第一次执行外,其他次执行的速 度会有明显提高。
➢ (3)减少网络传输:特别对于处理一些数据的存储过程, 不必像直接用T-SQL语句实现那样多次传送数据到客户 端。
数据库原理与应用教程 ―SQL Server
存储过程、触发器和游标
来自百度文库
存储过程、触发器和游标
▪ 存储过程 ▪ 触发器 ▪ 游标
存储过程、触发器和游标
▪ 1存储过程 ➢ SQL Server 2005的存储过程(Stored Procedure)包含一些T-SQL语句并以特定 的名称存储在数据库中。 ➢ 可以在存储过程中声明变量、有条件地执行 以及其他各项强大的程序设计功能。
相关文档
最新文档