SQL_第11章_存储过程.ppt

  1. 1、本文档共53页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
SQL_第11章_存储过程

2004-11-5 第11章 存储过程 第11章 存储过程的创建和使用 11.1 存储过程的定义 11.2 存储过程的优点 11.3 存储过程的创建 11.4 重新编译存储过程 11.5 自动执行存储过程 11.6 查看、修改和删除存储过程 11.7 扩展存储过程 11.1 存储过程的定义 存储过程是一系列预先编辑好的、能实现特定数据操作功能的SQL代码集,它与特定的数据库相关联,存储在SQL Server服务器上。用户可以像使用函数一样重复调用这些存储过程,实现它所定义的操作。 执行下列语句,结果是什么?: CREATE PROCEDURE proc1 AS select * from student select * from teacher go 通过执行该存储过程,可以得到其包含语句的执行结果: EXECUTE/EXEC proc1 存储过程的分类 存储过程分为三类: 系统存储过程 用户自定义存储过程 扩展存储过程 系统存储过程 系统存储过程是指安装SQL Server时由系统创建的存储过程,类似C语言中的系统函数。其大多是一些常用的系统操作。系统存储过程存储在master数据库中,其前缀为sp_。 如: exec sp_renamedb ‘JWGL’,’学生管理数据库’ 11.7 扩展存储过程 11.7.1 扩展存储过程概述 扩展存储过程使你得以使用编程语言创建自己的外部例程。 扩展存储过程与通常的存储过程其实有很大差别。存储过程是一系列预编译的Transact-SQL语句,而扩展存储过程是对动态链接库函数的调用。 SQL Server提供了一些扩展存储过程,扩展存储过程也可以由开发人员来编写。自行编写的扩展存储过程在使用之前必须添加(注册)到SQL Server中。 可以使用C++之类的编程语言编写自己的DLL,然后以扩展存储过程的模式将它添加到SQL Server中。 扩展存储过程 扩展存储过程的作用不止是操作数据库,其大多是SQL Server以外的操作的调用。可以使用C++之类的编程语言编写自己的DLL,然后以扩展存储过程的模式将它添加到SQL Server中。扩展存储过程以xp_开头。 系统为用户准备了常用操作的扩展存储过程,用户也可以自定义扩展存储过程。 如: exec xp_cmdshell mkdir d:\sqldata‘ , no_output use master go if exists ( select * from sysdatabases where name = JWGL) drop database JWGL go exec xp_cmdshell ‘mkdir d:\sqldata’,no_output create database JWGL on primary ( name=JWGL_data, size=5, maxsize=100, filegrowth=15%, filename=d:\sqlData\JWGL_data.mdf ) log on ( name=JWGL_log, size=5, maxsize=100, filegrowth=5, filename=d:\sqlData\JWGL_log.ldf ) go exec xp_cmdshell dir d:\sqldata 用户自定义存储过程 由用户为完成某一特定功能而编写的存储过程。包含了完成该功能所执行的T-SQL语句及所使用的变量等。 用户自定义存储过程为本章学习的重点。 11.2 存储过程的优点 存储过程是一种把重复的任务操作封装起来的一种方法,支持用户提供参数,可以返回、修改值,允许多个用户使用相同的代码,完成相同的数据操作。它提供了一种集中且一致的实现数据完整性逻辑的方法。存储过程用于实现频繁使用的查询、业务规则、被其它过程使用的公共例行程序。存储过程具有以下优点: 存储过程提供了处理复杂任务的能力 存储过程提供了许多标准SQL语言所没有的高级特性,它通过传递参数和执行逻辑表达式,能够使用十分复杂的SQL语句处理复杂任务。 增强代码的重用性和共享性(模块化程序设计) 每一个存储过程都是为了实现一个特定的功能而编写的模块,模块可以在系统中重复地调用,也可以被多个有访问权限的用户访问。所以,存储过程可以增强代码的重用性和共享性,加快应用系统的开发速度,减少工作量,提高开发的质量和效率。 减少网络数据流量 存储过程是与数据库一起存放在服务器中并在服务器上运行的。应用系统调用存储过程时只有触发执行存储过程的命令和执行结束返回的结果在网络中传输。用户端

文档评论(0)

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

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

1亿VIP精品文档

相关文档