第四讲. 存储过程和触发器 数据库技术知识课件.pptVIP

第四讲. 存储过程和触发器 数据库技术知识课件.ppt

  1. 1、本文档共58页,可阅读全部内容。
  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文档。上传文档
查看更多
第四讲. 存储过程和触发器 数据库技术知识课件.ppt

第四讲 存储过程与触发器;分类 系统存储过程 存储在master数据库中、以sp_为前缀、执行SQL Server许多管理活动的特殊存储过程。 无需用master来限定其名称而可从任何数据库中执行 在新数据库创建时,被自动创建。 通过从系统表中获取信息,提供给系统管理员来完成所有的管理任务。 用户自定义 用户创建、具有一定功能的存储过程。 注 因为SQL Server 始终按照在master 数据库中、根据所提供的数据库名称或所有者名、使用dbo 作为所有者(未指定所有者的情况下)的顺序查找以 sp_ 开头的存储过程,所以不要创建以 sp_ 为前缀的自定义存储过程,以免出现在master 数据库中查找根本不在此的存储过程。 如果用户自定义存储过程与系统存储过程同名,则用户自定义存储过程永远不会被执行。;存储过程的特点 将使用T-SQL编写的代码过程作为存储过程放在服务器端,通过客户应用程序发出调用请求,??供参数执行存储过程,存储过程通过返回值告知客户应用程序过程是否成功完成,从而实现数据访问的过程。这种数据访问模式优于在客户端直接执行T-SQL程序来完成数据访问过程 1.代码重用性 存储过程是可重用的代码部件,创建后可以被应用程序重复调用。过程与应用程序之间的数据交互只是通过参数和返回值,这种黑盒子式的调用模式最大程度地减少了过程与应用程序之间的相互影响,从而提高了应用程序的可移植性。 2.高速性 存储过程同T-SQL 批处理相比,因其在首次运行时,就利用查询优化器对其进行分析优化并将执行计划存储在过程高速缓存中,以后执行时不必重复这些工作而速度要快很多。;存储过程的特点 1.代码重用性 2.高速性 3.网络流量小 存储过程是被预编译好存储在服务器端的,当用户需要调用存储过程访问数据时,只需通过网络发出调用语句,这样避免每次访问数据时发送多条SQL语句,从而大大减少了网络的流量负担。 4.安全性 系统管理员为存储过程的执行赋予一定的权限,从而有效控制用户访问数据的权限,保证了数据的安全性。;创建存储过程 一.使用企业管理器 打开目录树,定位服务器组和服务器。 选中要在其中创建存储过程的数据库。 在“存储过程”上单击鼠标右键,在出现的快捷菜单中单击“新建存储过程”命令。 在出现的“存储过程属性”对话框中输入存储过程的内容。 单击“检查语法”按钮,可以对创建存储过程的T-SQL语句的语法进行检查。 二.使用企业管理器的“创建存储过程向导”创建存储过程 在目录树中定位要创建存储过程的服务器组和服务器。 单击“工具”菜单上的或工具栏上的“向导”命令。 在出现的“选择向导”窗口中展开“数据库”文件夹。 双击“创建存储过程向导”命令,执行向导。 按照向导提示“选择数据库名”、“选择存储过程”,为表自动创建用于“插入”、“删除”和“更新”的存储过程。;CREATE PROCEDURE 语句语法格式 CREATE PROC [ EDURE ] 存储过程名 [ ; number ]???? [ { @参数 数据类型 } [ VARYING ] [ = 默认值 ] [ OUTPUT ]] [WITH{RECOMPILE | ENCRYPTION | RECOMPILE , ENCRYPTION}] AS SQL语句序列 存储过程名 新建存储过程的名称。局部临时过程的名字前面加#,全局临时过程的名字前加##。过程名(包括 # 或 ##)的长度最大为128 个字符。所有者的名称可缺省。 ; number 可选的整数,用来区分同组的过程。在同一应用程序中使用的过程可以使用相同的过程名,将它们作为一个组,用不同的整数数字来标识组中的不同过程,例如procA;1、procA;2 。整个组作为一个整体,用一条DROP PROCEDURE procA语句删除,不能删除组中单个过程,如DROP PROCEDURE procA;1是非法的。;CREATE PROCEDURE 语句语法格式 CREATE PROC [ EDURE ] 存储过程名 [ ; number ]???? [ { @参数 数据类型 } [ VARYING ] [ = 默认值 ] [ OUTPUT ]] [WITH{RECOMPILE | ENCRYPTION | RECOMPILE , ENCRYPTION}] AS SQL语句序列 @参数 过程中的参数,参数名前为@号。可以声明一个或多个(最多2100个)参数。在未提供参数的默认值时,用户调用过程时要提供参数的值。 数据类型 参数的数据类型。可以使用包括text、ntext和image在内的所有数据类型。但cursor 数据类型只能用于 OUTPUT 参数。 默认值 参数的默认值。指定默认值后,过程执行时用户不必提供参数值。默认

您可能关注的文档

文档评论(0)

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

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

1亿VIP精品文档

相关文档