- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第8章 存储过程
;回顾;理论内容;存储在SQL Server客户机中的T-SQL的工作机制
客户机上的大量T-SQL语句需逐条向SQL Server发送,将降低系统运行效率。
许多批处理代码被重复使用多次,每次都输入相同的代码。
存储在SQL Server服务器中的存储过程的工作机制
将固定逻辑的操作以T-SQL批处理块的形式存储在数据库服务器上,并取名,该名称即为存储过程名。
仅需调用存储过程名,即可执行该存储过程。
;SQL Server中的T-SQL语言为了实现特定的任务,而将一些需要多次调用的固定操作编写为子程序,并集中以一个存储单元的形式存储在服务器上,由SQL Server数据库服务器通过子程序名来调用,这些子程序即存储过程。
存储过程是一种数据库对象,存储于数据库内,可由应用程序通过一个调用执行,具有较强的编程功能。
存储过程可以使用EXECUTE语句来运行。;加快系统运行速度。存储过程仅在创建时进行编译,以后每次执行存储过程均无须再重新编译。
封装复杂操作。当对数据库进行复杂操作时(如对多个表进行更新、删除时),可用存储过程将此复杂操作进行封装。
实现模块化程序设计和代码重用。存储过程一旦创建,以后即可在程序中任意调用多次。
增强安全性,参数化存储过程有助于保护应用程序不受SQL的注入式攻击。
减少网络流量。
;SQL Server提供系统存储过程,它们是一组预编译的T-SQL语句。
系统存储过程主要用于从系统表中获取信息,为系统管理员管理SQL Server 提供帮助,为用户查看数据库对象提供便利。
所有系统存储过程均以“sp_”开始,系统存储过程均存放于系统数据库master中。
系统管理员拥有这些存储过程的使用权限,在任何数据库中均可运行系统存储过程,执行结果反映的是当前数据库的信息。
;SQL Server常用系统存储过程 ;用户自定义存储过程是指用户根据自身需要,为完成某一特定功能,在用户数据库中创建的存储过程。
CREATE PROC[EDURE] proc_name
[{@parameter_name data_type}=[默认值]] [OUTPUT],…,n]
AS
procedure_body
存储过程关键字PROCDURE可以简称为PROC。
proc_name为存储过程名称。
“@parameter_name data_type”为参数列表,其中,@parameter_name为参数名,data_type为???数类型。每个参数均可指定默认值,“n”表示可以有多个参数。
参数默认为INPUT类型,即输入类型;参数之后的“OUTPUT”表明该参数为输出类型。
AS之后的procedure_body为存储过程的主体,是存储过程的核心。
;创建一个名为proc_Product_Info的存储过程,其将获取所有商品的标题、类型名、团购价、地区名和商店名,按照类型和团购价升序显示。
IF EXISTS(SELECT * FROM sysobjects WHERE name=proc_Product_Info)
DROP PROCEDURE proc_Product_Info
GO
CREATE PROCEDURE proc_Product_Info
AS
SELECT title, categoryName, currentPrice, areaName, shopName
FROM Product p, Category c, Area a, Shop s
WHERE p.categoryID=c.categoryID AND p.areaID=a.areaID AND p.shopID=s.shopID
ORDER BY categoryName, currentPrice
;存储过程proc_Product_Info创建成功后,可在SQL Server Management Studio的对象资源管理器的数据库“Meitao”→“可编程性”→“存储过程”下看到新创建的存储过程。
使用“EXECUTE|EXEC 存储过程名”命令执行存储过程。
EXEC proc_Product_Info
;创建一个名为proc_ProductStatistics的存储过程,其将获取不同类型的商品个数和平均团购价。
CREATE PROCEDURE proc_ProductStatistics
AS
SELECT categoryName 商品类型名, COUNT(p.productID) 商品数量, AVG(currentPrice) 平均团购价
FROM Product p, Category c
WHERE p.categoryID=c.categoryID
GROUP
您可能关注的文档
- 求解一元一次方程5.2求解一元一次方程(二)幻灯片.ppt
- 牧歌说课创新杯说课大赛国赛说课课件幻灯片.ppt
- 求解一元一次方程5.2求解一元一次方程(三)幻灯片.ppt
- 牧隆培训课件幻灯片.ppt
- 盐都光缆培训内容课件幻灯片.ppt
- 求解一元一次方程5.2求解一元一次方程二幻灯片.ppt
- 牧誓课件幻灯片.ppt
- 求解一元一次方程5.2求解一元一次方程三幻灯片.ppt
- 盐碱地课件幻灯片.ppt
- 求曲线的方程幻灯片.ppt
- 2025年浙江国家公务员行测考试真题及答案-行政执法类.docx
- 2025年大学生党史知识竞赛精选题库及答案(共120题).docx
- 2025年电大本科公共政策概论期末考试题库(含答案).docx
- 2025年法宣学习-中华人民共和国传染病防治法套题及其答案(含答案).docx
- 2025年国开本科《公共行政学》形考任务参考题库(含答案).docx
- 2025年河北省中考历史试题汇编(含答案).docx
- 2025年安徽专升本考试考试真题卷(4).docx
- 2025年国家电网招聘之公共与行业知识题库与答案.docx
- 2025年国家电网招聘之通信类通关提分题库(考点梳理).docx
- 历年银行柜员笔试真题(附答案).docx
最近下载
- 联合建厂协议合同.docx VIP
- Unit 4 School Life 第1~2课时listening and speaking 教案 中职高一英语高教版基础模块1 .pdf VIP
- 童年期情感忽视与大学生情绪调节策略:使用偏好及脑结构基础.pptx VIP
- 医疗废物和污水管理领导小组及岗位职责.docx VIP
- GJB 548C-2021微电子器件试验方法和程序.docx VIP
- 46 黎曼几何初步 [伍鸿熙,沈纯理,虞言林 著] 2014年版.pdf VIP
- 铁路路基题库及答案.doc VIP
- 2025年广东省职业病诊断医师考试(职业性尘肺病)模拟试题及答案.docx VIP
- 第11课《对人有礼貌》第1课时礼貌暖人心核心素养教案 2025道德与法治一年级上册.docx
- 锂离子电池热失控预警方法.pdf VIP
原创力文档


文档评论(0)