第6章 SQL Server 存储过程.ppt

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

SQL语句与前后台交互: SQL编写好的语句与前后台交互: 存储过程(Stored Procedure)是一组完成特定功能的SQL语句集,经编译后存储在数据库中。用户通过指定存储过程的名字并给出参数(如果该存储过程带有参数)来执行存储过程。 利用SQL Server创建一个应用程序时,SQL是主要的编程语言。使用SQL进行编程,有两种方法: 其一是,在本地存储SQL程序,并创建应用程序向SQL Server发送命令来对结果进行处理。 其二是,可以把部分用SQL编写的程序作为存储过程存储在SQL Server中,然后创建应用程序来调用存储过程,对数据结果进行处理。 存储过程的分类 在SQL Server 2005中有多种可用的存储过程。在SQL Server 2005中存储过程分为三类:系统提供的存储过程、用户自定义存储过程和扩展存储过程。 1. 系统存储过程 SQL Server 2005中的许多管理活动都是通过一种特殊的存储过程执行的,这种存储过程被称为系统存储过程。系统过程主要存储在master数据库中并以sp_为前缀,并且系统存储过程主要是从系统表中获取信息,从而为数据库系统管理员管理SQL Server提供支持。通过系统存储过程,SQL Server中的许多管理性或信息性的活动(如获取数据库和数据库对象的信息)都可以被顺利有效地完成。 系统存储过程的名称都以“sp_”开头 存储过程的分类 2. 用户自定义的存储过程 用户自定义存储过程是由用户创建并能完成某一特定功能(如查询用户所需数据信息)的存储过程,是封装了可重用代码的SQL语句模块。存储过程可以接受输入参数、向客户端返回表格或标量结果和消息、调用数据定义语言(DDL)和数据操作语言(DML)语句,以及返回输出参数。在SQL Server中,用户自定义的存储过程有两种类型:T-SQL存储过程或CLR存储过程。我们所提到的用户定义的存储过程主要指T-SQL存储过程。 3. 扩展存储过程 扩展存储过程允许使用高级编程语言(例如C)创建应用程序的外部例程,从而使得SQL Server的实例可以动态加载和运行DLL。扩展存储过程直接在SQL Server实例的地址空间中运行。 扩展存储过程的名称都以“xp_”开头 用SQL语句创建带参数的存储过程语法格式如下: CREATE PROC [ EDURE ] procedure_name [;number ] [ @parameter data_type [ default ] [ OUTPUT ] ] [ ,...n ] [ WITH RECOMPILE | ENCRYPTION | RECOMPILE , ENCRYPTION ] AS sql_statement [ ...n ] 和C#语言的函数一样,参数可选 参数分为输入参数、输出参数 输入参数允许有默认值 procedure_name:新建存储过程的名称,其名称必须符合标识符命名规则,且对于数据库及其所有者必须唯一。 ;number:该参数是可选的整数,用来对同名的过程分组,以便用一条DROP PROCEDURE 语句即可将同组的过程一起删除。例如,名为orders的应用程序使用的过程可以命名为orderproc;1、orderproc;2等。DROP PROCEDURE orderproc 语句将删除整个组。 parameter:存储过程中的输入和输出参数。 data_type:参数的数据类型。 Default:指参数的默认值,必须是常量或NULL。如果定义了默认值,不必指定该参数的值也可执行过程。 OUTPUT:表明参数是返回参数。该选项的值可以返回给EXEC[UTE]。使用 OUTPUT参数可将信息返回给调用过程。 RECOMPILE:表明SQL Server不保存存储过程的计划,该过程将在运行时重新编译。 ENCRYPTION:表示SQL Server加密syscomments 表中包含语句文本的条目。 sql_statement:指存储过程中的任意数目和类型的Transact-SQL语句。 在存储过程中使用参数,可以扩展存储过程的功能。使用输入参数,可以将外部信息传入到存储过程;使用输出参数,可以将存储过程内的信息传出到外部。 sql_statement:指存储过程中的任意数目和类型的Transact-SQL语句。 但是存储过程的内容有如下限制: 1 不能包含下列语句: a Create View b Create Trigger c Create Default d Create Procedure e Create Rule 创建规则 2 不能再同一存储过程中创建,删除,重建同一对象名 3 不能引用尚未存在的对

文档评论(0)

70后老哥 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档