欢迎来到天天文库
浏览记录
ID:50322251
大小:491.50 KB
页数:39页
时间:2020-03-08
《数据库原理与SQL Server教程 教学课件 作者 王路群 第12章 存储过程.ppt》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、数据库原理与SQLServer教程第十二章存储过程第十二章存储过程12.1存储过程简介12.2创建、执行、修改和删除存储过程12.3在存储过程中使用参数12.4处理错误信息实训12创建、管理和执行存储过程2021/8/24数据库原理与SQLServer教程12.1存储过程简介存储过程是一个被命名的存储在数据库服务器上的SQL语句和可选控制流语句的预编译集合,它以一个名称存储并作为一个单元处理。存储过程是封装重复性工作的一种方法,存储过程支持用户声明的变量、条件执行和其他有用的编程功能。2021/8/24数据库原理与SQLServer教程12.1.1存储过程
2、的特点12.1.2存储过程的分类12.1.3存储过程的初始化12.1存储过程简介2021/8/24数据库原理与SQLServer教程存储过程可包含程序流、逻辑以及对数据库的查询。它们可以接受参数、输出参数、返回单个或多个结果集以及返回值。存储过程具有以下优点:(1)模块化程序设计(2)保护数据库细节(3)执行速度快(4)减少网络流量(5)提供安全机制12.1.1存储过程的特点2021/8/24数据库原理与SQLServer教程在SQLServer中,主要分为以下两种类型的存储过程:1.系统存储过程(sp_)系统存储过程保存在master数据库中,系统存储过
3、程(由sp_前缀标识)提供了一种有效的方法检索来自系统表的信息。系统存储过程只能执行,其内容不允许被编辑。2.用户定义的存储过程本地存储过程在独立的用户数据库中被创建。12.1.2存储过程的分类2021/8/24数据库原理与SQLServer教程处理一个存储过程包括首次创建并执行此存储过程,存储过程将其执行规划放置在缓存中。存储过程被创建时,SQLServer在存储过程所属数据库的系统表sysobjects中保存存储过程的名称,在系统表syscomments中保存存储过程的文本,并且,在创建过程中,将对存储过程中的SQL语句进行解析,如果发现有语法错误则存
4、储过程不会被创建,也不会保存相关信息到数据中。在成功完成存储过程的解析后,SQLServer查询优化器分析在存储过程中的SQL语句,并创建完成存储过程中SQL语句操作最快的计划;然后编译分析存储过程并创建在处理缓存中的执行规划,以便存储过程的调用。12.1.3存储过程的初始化2021/8/24数据库原理与SQLServer教程12.2.1创建存储过程12.2.2执行存储过程12.2.3修改存储过程12.2.4删除存储过程12.2创建、执行、修改和删除存储过程2021/8/24数据库原理与SQLServer教程在SQLServer中可以使用Transact-
5、SQL语言的CREATEPROCEDURE语句,也可以使用企业管理器或者存储过程创建向导来完成。创建存储过程必须具有相应的权限,默认情况下,在一个数据库中创建存储过程的权限被指定给数据库所有者,数据库所有者可以将该权限授予给其他用户。实例演示:使用SQL语句创建存储过程12.2.1创建存储过程2021/8/24数据库原理与SQLServer教程1.使用EXECUTE语句执行存储过程执行存储过程使用EXECUTE语句,其语法为:[EXEC[UTE]]{[@return_status=]{procedure_name[;number]
6、@procedure_n
7、ame_var}[[@parameter=]{value
8、@variable[OUTPUT]
9、[DEFAULT]][,...n][WITHRECOMPILE]12.2.2执行存储过2021/8/24数据库原理与SQLServer教程1.在INSERT语句中执行存储过程在INSERT语句中执行的存储过程必须返回一个相关的结果集。例如,不能使用COMPUTEBY子句。INSERT语句可以组合本地表和由本地表或远程存储过程返回的结果集。SQLServer将存储过程中的SELECT语句返回的数据载入数据库。条件是要求表必须存在,且数据类型相匹配。12.2.2执行存
10、储过2021/8/24数据库原理与SQLServer教程在SQLServer中查看存储过程可以通过系统存储过程sp_helptext,也可以通过企业管理器实现。1.通过存储过程sp_helptext查看存储过程通过存储过程sp_helptext查看存储过程的语法为:[EXEC[UTE]]sp_helptext[@objname=]'name’12.2.3修改存储过程2021/8/24数据库原理与SQLServer教程2.使用企业管理器来查看存储过程通过存储过程sp_helptext查看存储过程的语法为:[EXEC[UTE]]sp_helptext[@obj
11、name=]'name’实例演示:使用企业管理器来查看存储过程12
此文档下载收益归作者所有