《数据库原理与设计基于SQL Server 2012》第7章 存储过程与触发器.pptVIP

《数据库原理与设计基于SQL Server 2012》第7章 存储过程与触发器.ppt

  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文档。上传文档
查看更多
《数据库原理与设计基于SQL Server 2012》第7章 存储过程与触发器

Database theroy and design 数据库原理与设计 第7章 存储过程与触发器 7.1 存储过程概述 1. 存储过程优点 存储过程(Stored Procedure)是一组为了完成特定功能的SQL语句集,经编译后存储在数据库中。存储过程可包含程序流、逻辑以及对数据库的查询。它们可以接受参数、输出参数、返回单个或多个结果集以及返回值。 存储过程的优点 存储过程在服务器端运行,执行速度快; 存储过程每执行一次后,驻留高速缓存,以后的每次执行只要调用高速缓存的代码执行,提高系统性能; 使用存储过程可以完成所有的数据库操作,并通过编程方式控制访问权限,确保数据库的安全; 自动完成需要预先执行的任务,方便用户。 7.1 存储过程概述 2. 存储过程的类型 存储过程分为三类:系统存储过程、扩展存储过程和用户存储过程。 系统存储过程:是由SQL SERVER提供的存储过程,用户可以当做命令执行。 扩展存储过程:在SQL SERVER环境以外,使用编程语言(如C++)创建外部的例程形成的动态链接库(DLL)。使用时先要将DLL加载到SQL SERVER系统中,按照使用系统存储过程的方法执行。 用户存储过程:由用户自己编写的存储过程,用户既可以使用T-SQL编写也可使用CLR编写。 存储过程:存储过程中包括T-SQL语句,可以接受和返回用户提供的参数。 CLR存储过程:是对MICROSOFT .NET FRAMEWORK公共语言运行时(CLR)方法的引用,可以接受和返回用户提供的参数。 7.2 创建存储过程 存储过程的定义可以通过CREATE PROCEDURE语句去创建一个的存储过程或通过对象资源管理器创建。 7.2.1 T-SQL命令创建存储过程 语法格式: Create {proc|procedure} [schema_name.]procedure_name[;number] [{@parameter[type_schema_name.]datatype} [varying ][=default][out[put]] ][,…….n] [with procedure_option][,……n] [for replication] As {sql_statement [;][,……n] | external name assembly_name.class_name.method_name } [;] 其中procedure option::= [encryption] [recompile] [execute_as_clause] 7.2.1 T-SQL命令创建存储过程 【例7-1】创建存储过程student_info Use 教务管理 Go Create procedure student_info @name char(8),@cname char(16) As Select student.学号,姓名,成绩 From student ,score Where student.学号=score.学号and 姓名=@name and score. 课程号=Course.课程号 And 课程名=@cnmae Go 执行存储过程: Execute student_info ‘王林’,’计算机基础’ 7.2.1 T-SQL命令创建存储过程 注意 用户定义的存储过程只能在当前数据库中创建 成功执行create procedure后,仅仅是保存的了存储过程,其中名称存储在sysobjects系统表中,语句文本存储在syscomments中。 存储过程可以自动执行,但这些过程必须由管理员在master中创建,并在sysadmin固定服务器角色下作为后台过程执行。 Create procedure的权限默认授予sysadmin固定服务器角色成员、db_owner和db_ddladmin固定服务器角色成员,sysadmin和db_owner具有转授权限。 存储过程定义只能出现在单个批处理中。 7.2.2 修改存储过程 通过ALTER PROCEDURE语句,可以对已经创建的存储过程进行调整。 语法格式为: ALTER PROCEDURE procedure_name[;number] [{@parameter data_type} [varying]=[default][output]] [,…….n] [with {recompile|encryption|recompile,encryption}] [for replication] As Sql_statement [……n] 7.2.2 修改存储过程 【例7-2】修改存储过程student_info ,将参数改为学号 Use 教务管理

文档评论(0)

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

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

1亿VIP精品文档

相关文档