SQLServer数据库技术第8章存储过程和触发器的创建与维护.ppt

SQLServer数据库技术第8章存储过程和触发器的创建与维护.ppt

  1. 1、本文档共120页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
SQLServer数据库技术第8章存储过程和触发器的创建与维护

第8章 存储过程和触发器 的创建与维护 本章学习目标 了解存储过程的概念; 掌握创建、执行存储过程的方法; 掌握查看和修改存储过程的方法; 掌握删除存储过程的方法; 了解触发器和一般存储过程的主要区别; 掌握创建和查看触发器的方法; 掌握修改和删除触发器的方法。 8.1 概述 8.1.1 存储过程概述 “存储过程”就是将常用的或很复杂的工作,预先以SQL程序写好,然后指定一个程序名称保存起来,以后只要用EXCUTE指令来执行这个程序,即可完成该项工作. 8.1.1 存储过程概述 应该提倡多使用存储过程,原因有以下几点。 (1)实现了模块化编程。 (2)调用一次以后,相关信息就保存在内存中,下次调用时可以直接执行。 (3)存储过程可以接受输入参数并可以返回输出值。 (4)存储过程具有对数据库立即访问的功能。 (5)使用存储过程可以加快程序的运行速度。 (6)使用存储过程可以减少网络流量。 (7)使用存储过程可以提高数据库的安全性。 8.1.1 存储过程概述 存储过程分为两类:系统存储过程和用户自定义的存储过程。 系统存储过程 是由系统自动创建的,主要存储在master数据库中,一般以sp_为前缀。 系统存储过程完成的功能主要是从系统表中获取信息。进行系统的各项设置、相关管理工作。 用户自定义存储过程 由用户创建并能完成某一特定功能的存储过程。 会被加入所属数据库的存储过程项目中,并以对象的形式保存。 8.2 存储过程 8.2.1 创建存储过程 创建存储过程的三种方法: 使用创建存储过程向导创建存储过程。 使用企业管理器创建存储过程。 使用Transact-SQL语句中的CREATE PROCEDURE命令创建存储过程。 1.使用创建存储过程向导创建存储过程 (1)在企业管理器中,要创建存储过程的数据库,选择“工具”菜单中的“向导”菜单项,单击向导中“数据库”选项左边的加号,选中“创建存储过程向导”选项。 (2)单击“确定”按钮。出现“欢迎使用创建存储过程”对话框,如图所示。 (3)选择数据库对话框. (4)“选择存储过程”对话框。 (5)确认存储过程信息对话框 (6)“编辑存储过程属性”对话框 2.使用SQL Server 2000企业管理器创建存储过程 步骤如下: (1)在企业管理器中,选择指定的服务器和数据库,右击要创建存储过程的数据库,在弹出的快捷菜单中依次选择“新建”→“存储过程…”命令。 3.使用Transact-SQL语句创建存储过程 可以使用Transact-SQL语句中的CREATE PROCEDURE命令创建存储过程,只能在当前数据库中创建存储过程。 3.使用Transact-SQL语句创建存储过程 语法形式如下: CREATE PROC[EDURE] procedure_name[;number] [{@parameter data_type} [VARYING][=default][OUTPUT] ][,...n] WITH {RECOMPILE|ENCRYPTION|RECOMPILE,ENCRYPTION}] [FOR REPLICATION] AS sql_statement [ ...n ] 各参数的含义: procedure_name:用于指定所要创建存储过程的名称。 各参数的含义: @parameter:过程中的参数。在CREATE PROCEDURE语句中可以声明一个或多个参数。执行时应提供相应的实在参数. data_type:用于指定参数的数据类型。 default:用于指定参数的默认值(常量)。 各参数的含义: AS:用于指定该存储过程要执行的操作。 sql_statement:是存储过程中包含的任意数目和类型的Transact-SQL语句。 CREATE PROCEDURE 存储过程名[{@参数名数据类型}] AS {SQL语句|语句块} 例:从STUDENT数据库的三个表中查询,返回学生学号、姓名、课程名、成绩、学分。 USE STUDENT IF EXISTS (SELECT name FROM sysobjects WHERE name=student_info AND type=P) DROP PROCEDURE student_info GO CREATE PROCEDURE student_info AS Select a.学号,姓名,课程名,成绩,学分 From student a,sc b,course c WHERE a.学号=b.学号 And b.课号=c.课号 GO 练习:从STUDENT数据库的三个表中查询某人指定课程的成绩和学分。该存储过程

文档评论(0)

gangshou + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档