第7章 存储过程与发器.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第7章 存储过程与触发器 科学出版社 高校计算机,电气与信息 管理与商务类规划教材 2012上海市精品课程 上海教育高地建设项目 主编 贾铁军 甘泉 副主编 沈学东 常艳 连志刚 胡静 编著 李向臣 曾刚 目 录 教学目标 ● 了解存储过程的特点、类型和作用 ● 理解和掌握存储过程的执行方式 ● 了解DML触发器的工作原理 ● 理解和掌握DDL触发器的特点和创建方式 重点 7.1存储过程概述 7.1.1 存储过程的概念 存储过程(Stored Procedure)是数据库系统中,一组完成特定功能的SQL语句集。经编译后存储在数据库中,用户通过指定存储过程名及给出参数(若此存储过程带有参数)进行调用执行。? SQL Server提供了一种方法,可将一些固定的操作集中由SQL Server数据库服务器完成,以实现某个任务,这种方法就是存储过程。 要点复习 可调用(执行)的 过程文件 7.1存储过程概述 7.1.1 存储过程的概念 存储过程是一组相关的T-SQL语句集合,提供了一种封装任务的方法,并具有强大的编程功能。 存储过程包括4个方面: (1)包含在数据库中执行操作的语句,包括调用(执行)其他存储过程。 (2)接受输入参数。 (3)状态值返回指示成功或失败。 (4)以输出参数的形式,将多个值返回到发起调用的存储过程或客户端应用程序。 7.1存储过程概述 7.1.2 存储过程的特点和类型 1. 存储过程的特点: (1)在服务器注册后,可以提高T-SQL语句执行效率. (2)存储过程具有安全性和所有权链接,可执行所有的权限管理。用户可以被授予执行存储过程的权限,而不必拥有直接对存储过程中引用对象的执行权限。 (3)存储过程允许用户模块化设计程序,极大地提高了程序设计的效率。例如,存储过程创建之后,可以在程序中任意调用,提高程序的设计效率、提高了应用程序的可维护性。 (4)存储过程可以大大减少网络通信流量,这是一条非常重要的使用存储过程的原因。 7.1存储过程概述 2 存储过程的类型 在SQL Server系统中,提供3种基本存储过程类型: (1)用户定义的存储过程 (2)扩展存储过程 (3)系统存储过程 除此之外,还有临时存储过程、远程存储过程等,各自起着不同的作用。 ?7.2.1 创建存储过程 可以使用三种创建存储过程方法: (1)利用创建存储过程向导创建存储过程。 (2)使用SQL Server企业管理器创建存储过程。 (3)使用T-SQL语句中的CREATE PROCEDURE命令创建存储过程(重点介绍)。 7.2 存储过程的实现 ?7.2.1 创建存储过程 1.创建存储过程 利用T-SQL语句CREATE PROCEDURE命令创建存储过程,包含一些选项,其语法格式如下所示: CREATE PROCEDURE proc_name AS BEGIN sql_statement1 sql_statement2 END ? 2.调用(执行)存储过程 EXECUTE Production.proc_name 7.2 存储过程的实现 *7.2.2 创建参数化存储过程 1.使用输入参数的准则 若要定义接受参数的存储过程,应在CREATE PROCEDURE语句中声明参数。使用输入参数时,应考虑以下准则: (1)根据情况为参数提供默认值。如果定义了默认值,则用户无需为该参数指定值即可执行存储过程。 (2)在存储过程的开头验证所有传入的参数值,以尽早查出缺少的值和无效值。 7.2 存储过程的实现 ?2. 使用输入参数的示例 【案例7-4】修改存储过程LongLeadProducts,添加参数@MinimumLength,并指定其为int数据类型和其默认值为1。 ALTER PROC Production.LongLeadProducts @MinimumLength int = 1 -- default value AS IF (@MinimumLength 0) -- validate验证 BEGIN RAISERROR(Invalid lead time., 14, 1) RETURN END 7.2 存储过程的实现 3. 调用参数化存储过程 EXEC Production.LongLeadProducts @MinimumLength=4 4. 使用参数默认值 (1)执行存储过程时,没有为参数指定任何值。 (2)DEFAULT关键字指定为参数的值。 5. 输出参数和返回值 通过使用输出参数和返回值,存储过程可将信息返回给进行调用的存储过程和客户端。 7.2 存储过程

文档评论(0)

zhonglanzhuoshi + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档