SQL SERVER数据库课件第9章.pptVIP

  • 5
  • 0
  • 约1.21万字
  • 约 82页
  • 2017-09-22 发布于广东
  • 举报
第9章 实现存储过程和触发器 使用和管理存储过程 使用和管理触发器 使用存储过程和触发器维护数据完整性 教学目的: 使学生学会使用和管理存储过程、使用和管理触发器,懂得利用存储过程和触发器来维护完整性。 9.1 存储过程基础 存储过程是最高级别的应用程序,它是存储在服务器上的例行程序及过程。可以给存储过程传递参数值,存储过程也可以返回值。本节介绍存储过程的一些基础知识,包括什么是存储过程,如何创建存储过程等。 基本概念 存储过程是事先编好的、存储在数据库中的程序,是一组预先编译过的SQL语句组成的SQL Sever数据库应用程序。这些程序用来完成对数据库的指定操作。它能够检索系统信息,管理数据库或执行其他任务。 使用存储过程具有以下优点: 降低网络通讯量 执行速度快 具有安全控制机制 能减轻程序设计工作量 系统存储过程 SQL Server本身提供了一些存储过程,用于管理SQL Server和显示有关数据库和用户的信息,我们称之为系统存储过程。 系统存储过程是SQL Server系统创建的存储过程,它的目的在于能够方便地从系统表中查询信息,或者完成与更新数据库表相关的管理任务或其它的系统管理任务。系统存储过程可以在任意一个数据库中执行。系统存储过程创建并存放于系统数据库master中,并且名称以sp_或者xp_开头。 用户存储过程 用户也可以编写自己的存储过程,并把它存放在数据库中。这样安排的主要目的就是要充分发挥数据库服务器的功能,尽量减少网络上的堵塞。 9.1.2 创建存储过程 存储过程是事先编好的、存储在数据库中的程序,是一组预先编译过的SQL语句组成的SQL Sever数据库应用程序。这些程序用来完成对数据库的指定操作。它能够检索系统信息,管理数据库或执行其他任务。 创建一个存储过程应该注意以下几点: Create prodecure语句不能与其他T-SQL语句位于同一个批处理中。 创建存储过程的权限默认属于数据库所有者,该权限可以授予他人。 存储过程是数据库对象,它的命名应符合标识符的命名规范。 只能在当前数据库中创建存储过程。 1.利用企业管理器创建存储过程 修改存储过程 在存储过程的正文的最后多了一个语句“go” ,这是系统自动添加的,其作用是将该存储过程中的所有语句作为一个事务处理。 删除存储过程 命令方式: drop procedure {过程名} [,…n] 例: use mydb2 go drop procedure mydb_pro go 2.使用create procedure创建 语法: 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 新存储过程的名称。过程名必须符合标识符规则,且对于数据库及其所有者必须唯一。 要创建局部临时过程,可以在 procedure_name 前面加一个编号符 (#procedure_name),要创建全局临时过程,可以在 procedure_name 前面加两个编号符 (##procedure_name)。完整的名称(包括 # 或 ##)不能超过 128 个字符。指定过程所有者的名称是可选的。 ;number 是可选的整数,用来对同名的过程分组,以便用一条 DROP PROCEDURE 语句即可将同组的过程一起除去。例如,名为 orders 的应用程序使用的过程可以命名为 orderproc;1、orderproc;2 等。DROP PROCEDURE orderproc 语句将除去整个组。如果名称中包含定界标识符,则数字不应包含在标识符中,只应在 procedure_name 前后使用适当的定界符。 @parameter 过程中的参数。在 CREATE PROCEDURE 语句中可以声明一个或多个参数。用户必须在执行过程时提供每个所声明参数的值(除非定义了该参数的默认值)。存储过程最多可以有 2.100 个参数。 使用 @ 符号作为第一个字符来指定参数名称。参数名称必须符合标识符的规则。每个过程的

文档评论(0)

1亿VIP精品文档

相关文档