[计算机]chp8-2-new.pptVIP

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

西北工业大学明德学院 第8章 存储过程 存储过程与触发器是SQL Server中的两类数据库对象。都是由T-SQL语句编写而成的过程, 1、存储过程和触发器的区别: 存储过程是由用户根据需要调用执行的,而触发器则是由某个动作(如删除或修改一条记录)引发执行的;存储过程可以不依附于表而单独存在,而触发器则必须依附于一个特定的表。 2、与函数的区别 函数可以直接通过函数名返回数值,其返回值可以直接在表达式中使用,而存储过程与触发器则不能直接通过其名称带回返回值,也不能直接在表达式中使用。 8.2 存储过程 8.2.1 存储过程的概念 1、概念:在SQL Server中定义的过程被称为存储过程。存储过程是一组预先编译好的T-SQL代码,作为一个整体用于执行特定的操作。存储过程属于数据库对象,它们存放在数据库中,需要时用户可以调用。 2、查看系统存储过程 通过企业管理器 3、存储过程的优点: 1)、存储过程将一系列复杂的T-SQL代码封装在一起作为数据库对象存放在数据库中,用户使用时不必接触T-SQL而仅需直接调用即可得到所需结果,简化了用户的操作。 2)、存储过程已经被编译,执行时省去了编译与优化的时间。另外,第一次从磁盘调用存储过程后,它将驻留在内存中,下一次使用时可以直接从内存中调用,因此对于需要多次调用的存储过程而言,速度明显加快。 3)、在分布式查询中,调用存储过程的语句将比直接使用T-SQL的语句少得多,这将大大减少网络流量。 4)、通过适当的权限设置,可以使系统的安全性得到更有效的保障。 8.2.2 分类 SQL Server的存储过程分为三大类: 系统存储过程、扩展的存储过程和临时存储过程 1.系统存储过程 系统存储过程是SQL Server内置的存储过程,可以直接用于执行一些操作,用于进行系统管理、登录管理、权限设置、数据库对象管理、查看数据库信息、数据库复制等操作。系统存储过程存放在master数据库中,以sp_作为前缀。在任何数据库中无需用master限定就直接执行。 2. 扩展存储过程 是利用高级语言(如C语言)编写的存储过程,是SQL Server可以动态装载并执行的动态链接库(DLL)。扩展存储过程只能添加到master数据库中。 3.临时存储过程 临时存储过程与临时表类似。是对用户定义的存储过程。以#、或##开头的存储过程。无论用户在哪个数据库中创建,它们都存放在临时数据库tempdb中。 以#开头的存储过程是局部临时存储过程,它仅能由其创建者本人在创建完后立即调用,一旦该创建者断开与数据库的连接,局部临时存储过程立即被删除。 以##开头的存储过程是全局临时存储过程,它可以由创建者本人和其他用户在创建完后共同调用,一旦创建者断开与数据库的连接,则不再允许新的用户使用,而且等其他正在使用该存储过程的用户使用完毕后,全局临时存储过程也被删除。 8.2.3 存储过程的创建 1、用企业管理器创建 2、用T_SQL语言创建 在SQL Server中,使用CREATE PROCEDURE语句创建一个永久或临时存储过程。 命令格式: CREATE PROCEDURE 存储过程名 [@parameter_name datatype] [@varying_name datatype out] [WITH ENCRYPTION] [WITH RECOMPILE] AS SQL 语句 命令说明: (1)@parameter_name datatype], @varying_name datatype out] (1)WITH ENCRYPTION:对存储过程进行加密。 (2)WITH RECOMPILE:对存储过程重新编译。 3、举例 在“SC”数据库中建立一个存储过程pro_new1,用于查询所有学生的学号和数学成绩、和数据库成绩,要求数学成绩和数据库成绩分别列出。已知数学课程号是1、数据库课程号是2。 if exists (select name from sysobjects where name=pro_new1 and type=P) drop procedure pro_new1 go create procedure pro_new1 as select Sno,grade as 数学成绩 from sc where cno=1 sele

您可能关注的文档

文档评论(0)

ctuorn0371 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档