理论第8章-理论幻灯片.pptxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 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

文档评论(0)

带头大哥 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档