- 1、本文档共40页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第23讲 关系数据库理论 教学目标:要求学生掌握关系数据库规范化理论,这是数据库逻辑设计的理论依据。 教学内容:规范化理论的研究动机及其在数据库设计中的作用,掌握函数依赖的有关概念,第一范式、第二范式的定义 教学重点:函数依赖的有关概念 教学难点:范式的相关知识点 教学方法:讲授法 举例法 教学时间:2学时 教学过程: 7.11.2 存储过程应用初步 在大型数据库中存储过程和触发器具有很重要的作用。存储过程提供了一种高效和安全的访问数据库的方法。经常被用来访问数据和管理被修改的数据。触发器可有助于更好地维护数据库中数据的完整性。就本质而言,触发器也是一种存储过程。存储过程在运算时生成执行方式,所以,以后对其再运行时,其执行速度很快。 一、存储过程概述 存储过程可以使得对数据库的管理、以及显示关于数据库及其用户信息的工作容易得多。 在SQL Server的系列版本中,存储过程分为两类:系统提供的存储过程和用户自定义存储过程,系统存储过程主要存储在master数据库中,并以sp_为前缀,并且系统存储过程主要是从系统表中获取信息,从而为系统管理员管理SQL Server提供支持。 二、创建存储过程 在SQL Server 2000中创建一个存储过程有两种方法:一种是使用Transact-SQL命令,另一种是使用企业管理器。用Transact-SQL创建存储过程是一种较为快速的方法,但对于初学者,使用企业管理器更易理解,更为简单。 当创建存储过程时,需要确定存储过程的三个组成部分: (1)所有的输入参数以及传给调用者的输出参数 (2)被执行的针对数据库的操作语句,包括调用其他存储过程的语句。 (3)返回给调用者的状态值以指明调用是成功还是失败。 1.用CREATE PROCEDURE命令创建存储过程 用CREATE PROCEDURE命令能够创建存储过程,在创建存储过程之前应考虑到以下几个方面: (1)在一个批处理中,CREATE PROCEDURE语句不能与其他SQL语句合并在一起。 (2) 数据库所有者具有默认的创建存储过程的权限,它可把该权限传递给其他用户。 (3)存储过程作为数据库对象,其命名必须符合命名规则。 (4) 只能在当前数据库中创建属于当前数据库的存储过程。 用CREATE PROCEDURE创建存储过程的语法格式如下: CREATE PROCDURE procedure_name [ ; number ][ { @parameter data_type }[ VARYING ] [ = default ] [ OUTPUT ]] [ ,...n ] [ WITH{ RECOMPILE | ENCRYPTION | RECOMPILE , AS sql_statement [ ...n ] 各参数含义如下: (1)procedure_name 新存储过程的名称。过程名必须符合标识符规则,且对于数据库及其所有者必须唯一。要创建局部临时过程,可以在 procedure_name 前面加一个编号符 (#procedure_name),要创建全局临时过程,可以在 procedure_name 前面加两个编号符 (##procedure_name)。完整的名称(包括 # 或 ##)不能超过 128 个字符 (2);number 是可选的整数,用来对同名的过程分组,以便用一条 DROP PROCEDURE 语句即可将同组的过程一起除去。 (3)@parameter 过程中的参数。在 CREATE PROCEDURE 语句中可以声明一个或多个参数。用户必须在执行过程时提供每个所声明参数的值(除非定义了该参数的默认值)。 (4)data_type 参数的数据类型。 说明:对于可以是 cursor 数据类型的输出参数,没有最大数目的限制 (5)VARYING 指定作为输出参数支持的结果集(由存储过程动态构造,内容可以变化)。仅适用于游标参数。 (6)default 参数的默认值。如果定义了默认值,不必指定该参数的值即可执行过程。默认值必须是常量或 NULL。 (7)OUTPUT 表明参数是返回参数。该选项的值可以返回给 EXEC[UTE]。 (8)RECOMPILE RECOMPILE 表明 SQL Server 不会保存该过程的计划。 (9)ENCRYPTION SQL Server 利用存储在 syscomments 中的加密注释来重新创建加密过程。 (10)RECOMPILE, ENCRYPTION FOR REPLICATION指定不能在订阅服
文档评论(0)