《SQL?Server2005数据库》第8章 存储过程的操作与管理

第8章存储过程的操作与管理 SQL SERVER2005入门与实例教程电子工业出版社2006
第8章 存储过程的操作与管理

存储过程概述 存储过程是为完成特定的功能而汇集在一起的一组SQL程序 语句,经编译后存储在数据库中的SQL程序。 在 SQL Server中使用存储过程而不使用存储在客户端计算 机本地的 Transact-SQL程序的优点包括: (1)存储过程已在服务器注册 2)存储过程具有安全特性(例如权限)和所有权链接,以及 可以附加到它们的证书。 (3)存储过程可以强制应用程序的安全性 (4)存储过程允许模块化程序设计 (5)存储过程是命名代码,允许延迟绑定 (6)存储过程可以减少网络通信流量 SQL SERVER2005入门与实例教程电子工业出版社2006
存储过程概述 存储过程是为完成特定的功能而汇集在一起的一组SQL程序 语句,经编译后存储在数据库中的SQL程序。 在 SQL Server 中使用存储过程而不使用存储在客户端计算 机本地的 Transact-SQL 程序的优点包括: (1)存储过程已在服务器注册。 (2)存储过程具有安全特性(例如权限)和所有权链接,以及 可以附加到它们的证书。 (3)存储过程可以强制应用程序的安全性。 (4)存储过程允许模块化程序设计。 (5)存储过程是命名代码,允许延迟绑定。 (6)存储过程可以减少网络通信流量

8.1创建存储过程 在 SQL Server中,可以使用两种方法创建存储过程: (1)使用创建存储过程模板创建存储过程; (2)利用 SQL Server管理平台创建存储过程。 当创建存储过程时,需要确定存储过程的三个组成部 分: (1)所有的输入参数以及传给调用者的输出参数 (2)被执行的针对数据库的操作语句,包括调用其他 存储过程的语句 (3)返回给调用者的状态值,以指明调用是成功还是 失败。 SQL SERVER2005入门与实例教程电子工业出版社2006
8.1 创建存储过程 在SQL Server中,可以使用两种方法创建存储过程: (1)使用创建存储过程模板创建存储过程; (2)利用SQL Server 管理平台创建存储过程。 当创建存储过程时,需要确定存储过程的三个组成部 分: (1)所有的输入参数以及传给调用者的输出参数。 (2)被执行的针对数据库的操作语句,包括调用其他 存储过程的语句。 (3)返回给调用者的状态值,以指明调用是成功还是 失败

8.1创建存储过程 CREatE ProcedUre的语法形式如下: CREATE(PROCPROCEDUREJ [schema name ] procedure name; number K@parameter[type schema name. data typel TVARYINGIdefault[[OUT[PUTILn WITHL.n] [FOR REPLICATION] AS k[[ n]l; procedure option>∷ TENCRYPTIONIRECOMPILE]EXECUTE AS Clause] sql statement>∷= I BEGIN] statements [ENDI] : :=EXTERNAL NAME assembly name class name. method_ name SQL SERVER2005入门与实例教程电子工业出版社2006
8.1 创建存储过程 •CREATE PROCEDURE的语法形式如下: CREATE {PROC|PROCEDURE} [schema_name.]procedure_name[;number] [{@parameter[type_schema_name.] data_type} [VARYING][=default][[OUT[PUT]][,...n] [WITH [,...n] [FOR REPLICATION] AS {[;][...n]|}[;] ::= [ENCRYPTION][RECOMPILE] EXECUTE_AS_Clause] ::= {[BEGIN] statements [END]} ::= EXTERNAL NAME assembly_name.class_name.method_name

8.1.1使用模板创建存储过程 1)在 SQL Server管理平台中,选择“视图(Vew)”菜单中的“模板资 源资源管理器( Template Explorer)’,出现“模板资源管理器( Template Explorer)”窗口,选择“存储过程”中的“创建存储过程”选项,如图8-1所 (2)在文本框中可以输入创建存储过程的 Transact SQL语句,单击“执行” 按钮,即可创建该在储讨程 Create bsste stored procedure template Drop stored procedure if it already exia SELECT ON INFORMATICN SCHEMA, ROUTINE ECIFIC NAME N" BELECT 8p1, 8p2 EXECUTE Schema Nr yanase, schema Name>.salt 图8-1创建存储过程模板 SQL SERVER2005入门与实例教程电子工业出版社2006
8.1.1 使用模板创建存储过程 (1)在SQL Server 管理平台中,选择“视图(View)”菜单中的“模板资 源资源管理器(Template Explorer)”,出现“模板资源管理器(Template Explorer)”窗口,选择“存储过程”中的“创建存储过程”选项,如图8-1所 示。 (2)在文本框中可以输入创建存储过程的Transact_SQL语句,单击“执行” 按钮,即可创建该存储过程。 图8-1 创建存储过程模板

8.1.2使用管理平台创建存储过程 在 SQL Server管理平台中,展开指定的服务器和数据库,然后展开程序,右击存储过程 选项,在弹出的快捷菜单中依次选择“新建→存储过程..”选项,如图8-2所示,出现创建存储 程窗口。 2)在文本框中可以输入创建存储过程的 Transact SQL语句,单击“执行”按钮,即可创建 该存储过程。 0日工0m00的的 立建查博0B出园B日B兰 20x 数 -shitc-p Edba Thig blook ot w:l: not be inc luded 10 deran⊥t⊥an - CreAte t无:<Cr 系统储过程 CREATE PRCCEDUREPEoceeure Nem, m一 国团口口 压U安 SET NO 已连 图8-2新建存储过程 SQL SERVER2005入门与实例教程电子工业出版社2006
8.1.2使用管理平台创建存储过程 (1)在SQL Server管理平台中,展开指定的服务器和数据库,然后展开程序,右击存储过程 选项,在弹出的快捷菜单中依次选择“新建→存储过程…”选项,如图8-2所示,出现创建存储 过程窗口。 (2)在文本框中可以输入创建存储过程的Transact_SQL语句,单击“执行”按钮,即可创建 该存储过程。 图8-2 新建存储过程

8.1.2使用管理平台创建存储过程 例8-1创建一个带有 SELECT语句的简单过程,该存储 过程返回所有员工姓名,Emai地址,电话等。该存储过 程不使用任何参数 程序清单如下。 USE adventureworks GO CREATE PROCEDURE au infor all AS SELECT lastname, firstname, emailaddress, phone FROM person contact GO SQL SERVER2005入门与实例教程电子工业出版社2006
8.1.2使用管理平台创建存储过程 例8-1 创建一个带有SELECT语句的简单过程,该存储 过程返回所有员工姓名,Email地址,电话等。该存储过 程不使用任何参数 程序清单如下。 USE adventureworks GO CREATE PROCEDURE au_infor_all AS SELECT lastname, firstname, emailaddress, phone FROM person.contact GO

8.1.2使用管理平台创建存储过程 例8-2创建一个存储过程,以简化对SC表的数据添加工 使得在执行该存储过程时,其参数值作为数据添加 到表中 程序清单如下 CREATE PROCEDURE [dbo][ pr1 sc ins] @Param1 char(10),@Param2 char(2),@Param3 real AS BEGIN insert into sc(sno, cno, score) values(@Param1,@Param2, @Param3) END SQL SERVER2005入门与实例教程电子工业出版社2006
8.1.2使用管理平台创建存储过程 例8-2 创建一个存储过程,以简化对sc表的数据添加工 作,使得在执行该存储过程时,其参数值作为数据添加 到表中。 程序清单如下: CREATE PROCEDURE [dbo].[ pr1_sc_ins] @Param1 char(10),@Param2 char(2),@Param3 real AS BEGIN insert into sc(sno,cno,score) values(@Param1,@Param2,@Param3) END

8.1.2使用管理平台创建存储过程 例8-3创建一个带有参数的简单存储过程,从视图中返回指定 的雇员(提供名和姓)及其职务和部门名称,该存储过程接受 与传递的参数精确匹配的值 程序清单如下。 USE AdventureWorks GO CREATE PROCEDURE GetEmployees @lastname varchar(40) @firstname varchar(20) AS SELECT LastName, FirstName, Job Title, Department FROM HumanResources. VEmployeeDepartment WHERE FirstName=@firstname AND LastName = @lastname GO SQL SERVER2005入门与实例教程电子工业出版社2006
8.1.2使用管理平台创建存储过程 例8-3 创建一个带有参数的简单存储过程,从视图中返回指定 的雇员(提供名和姓)及其职务和部门名称,该存储过程接受 与传递的参数精确匹配的值 程序清单如下。 USE AdventureWorks; GO CREATE PROCEDURE GetEmployees @lastname varchar(40), @firstname varchar(20) AS SELECT LastName, FirstName, JobTitle, Department FROM HumanResources.vEmployeeDepartment WHERE FirstName = @firstname AND LastName = @lastname; GO

8.1.2使用管理平台创建存储过程 例84下面的存储过程从表 person contact中返回指定的一些 员工姓名及其电话。该储过程对传递的参数进行模式匹配 如果没有提供参数,则使用预设的默认值(姓民以字母D开 头 程序清单如下 USE AdventureWorks GO CREATE PROCEDURE au infor2 @lastname varchar(40)=D%, @firstname varchar(20)=% AS SELECT firstname, lastname, phone FROM person contact WHERE firstname LIKE @firstname AND lastname LIKE @lastname GO SQL SERVER2005入门与实例教程电子工业出版社2006
8.1.2使用管理平台创建存储过程 例8-4下面的存储过程从表person.contact中返回指定的一些 员工姓名及其电话。该存储过程对传递的参数进行模式匹配。 如果没有提供参数,则使用预设的默认值(姓氏以字母D开 头) 程序清单如下。 USE AdventureWorks; GO CREATE PROCEDURE au_infor2 @lastname varchar(40) = 'D%', @firstname varchar(20) = '%' AS SELECT firstname, lastname, phone FROM person.contact WHERE firstname LIKE @firstname AND lastname LIKE @lastname GO
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 《SQL?Server2005数据库》第7章 视图的操作与管理.ppt
- 《SQL?Server2005数据库》第6章 查询技术.ppt
- 《SQL?Server2005数据库》第5章 表的操作与管理.ppt
- 《SQL?Server2005数据库》第4章 数据库管理.ppt
- 《SQL?Server2005数据库》第3章 Transact-SQL语言.ppt
- 《SQL?Server2005数据库》第2章 服务器管理.ppt
- 《SQL?Server2005数据库》第1章 SQL Server 2005关系数据库简介.ppt
- 《SQL?Server2005数据库》第13章 报表服务管理.ppt
- 《SQL?Server2005数据库》第12章 代理服务.ppt
- 《SQL?Server2005数据库》第11章 SQL Server 2005 集成服务.ppt
- 《SQL?Server2005数据库》第10章 SQL SERVER权限管理.ppt
- 《JSP动态网站开发与实例》第3版 第20章 电子报.ppt
- 《JSP动态网站开发与实例》第3版 第19章 留言板.ppt
- 《JSP动态网站开发与实例》第3版 第18章 用户登录.ppt
- 《JSP动态网站开发与实例》第3版 第17章 自定义标签.ppt
- 《JSP动态网站开发与实例》第3版 第16章 导入 JavaBean.ppt
- 《JSP动态网站开发与实例》第3版 第15章 组织程序代码.ppt
- 《JSP动态网站开发与实例》第3版 第14章 数据变动功能网页.ppt
- 《JSP动态网站开发与实例》第3版 第13章 JDBC与数据库系统.ppt
- 《JSP动态网站开发与实例》第3版 第12章 jsP与ML.ppt
- 《SQL?Server2005数据库》第9章 触发器的操作与管理.ppt
- 《计算机英语》参考译文和练习答案电子书.doc
- 北京邮电大学:《软件工程模型与方法 Models & Methods of Software Engineering》课程教学资源(PPT课件讲稿)第一章 软件工程概述(肖丁).ppt
- 北京邮电大学:《软件工程模型与方法 Models & Methods of Software Engineering》课程教学资源(PPT课件讲稿)第二章 软件生命周期模型.ppt
- 北京邮电大学:《软件工程模型与方法 Models & Methods of Software Engineering》课程教学资源(PPT课件讲稿)第三章 系统的需求分析及可行性分析.ppt
- 北京邮电大学:《软件工程模型与方法 Models & Methods of Software Engineering》课程教学资源(PPT课件讲稿)第四章 软件需求分析.ppt
- 北京邮电大学:《软件工程模型与方法 Models & Methods of Software Engineering》课程教学资源(PPT课件讲稿)第五章 结构化需求分析.ppt
- 北京邮电大学:《软件工程模型与方法 Models & Methods of Software Engineering》课程教学资源(PPT课件讲稿)第六章 软件设计.ppt
- 北京邮电大学:《软件工程模型与方法 Models & Methods of Software Engineering》课程教学资源(PPT课件讲稿)第七章 结构化软件设计.ppt
- 北京邮电大学:《软件工程模型与方法 Models & Methods of Software Engineering》课程教学资源(PPT课件讲稿)第八章 面向对象基础.ppt
- 北京邮电大学:《软件工程模型与方法 Models & Methods of Software Engineering》课程教学资源(PPT课件讲稿)第九章 面向对象分析.ppt
- 北京邮电大学:《软件工程模型与方法 Models & Methods of Software Engineering》课程教学资源(PPT课件讲稿)第十章 面向对象设计.ppt
- 北京邮电大学:《软件工程模型与方法 Models & Methods of Software Engineering》课程教学资源(PPT课件讲稿)第十一章 软件实现.ppt
- 北京邮电大学:《软件工程模型与方法 Models & Methods of Software Engineering》课程教学资源(PPT课件讲稿)第十二章 软件测试.ppt
- 北京邮电大学:《软件工程模型与方法 Models & Methods of Software Engineering》课程教学资源(PPT课件讲稿)第十三章 软件维护、软件项目管理、软件能力成熟度模型.ppt
- 北京邮电大学:《软件工程模型与方法 Models & Methods of Software Engineering》课程教学资源(PPT课件讲稿)第十三章 软件维护(13.1-13.5).ppt
- 北京邮电大学:《软件工程模型与方法 Models & Methods of Software Engineering》课程教学资源(PPT课件讲稿)第十四章 软件项目管理、第十五章 软件过程管理.ppt
- 《面向对象的分析与设计》讲义1.ppt
- 《面向对象的分析与设计》讲义2.ppt
- 北京邮电大学:《软件工程模型与方法 Models & Methods of Software Engineering》课程教学资源(期末复习提纲).doc