新SQL Server 2008数据库应用教程 第2版 教学课件 邱李华 李晓黎 任华 冉兆春 第8章.pptVIP

  • 42
  • 0
  • 约1.99万字
  • 约 98页
  • 2016-10-26 发布于广东
  • 举报

新SQL Server 2008数据库应用教程 第2版 教学课件 邱李华 李晓黎 任华 冉兆春 第8章.ppt

第8章 存储过程、函数和触发器 课程描述 存储过程、函数和触发器实际上都是使用Transact-SQL语言编写的程序。存储过程和函数需要显式调用才能执行,而触发器则在满足指定条件时自动执行。了解它们的工作原理是编写存储过程、函数和触发器的前提。 本章知识点 8.1 存储过程 8.2 用户定义函数 8.3 触发器 8.1 存储过程 8.1.1 什么是存储过程 8.1.2 创建存储过程 8.1.3 执行不带参数的存储过程 8.1.4 带参数的存储过程 8.1.5 存储过程的返回值 8.1.6 获取存储过程信息 8.1.7 修改和重命名存储过程 8.1.8 删除存储过程 8.1.9 系统存储过程 8.1.1 什么是存储过程 存储过程是Transact-SQL语句的预编译集合,这些语句在一个名称下存储并作为一个单元进行处理。SQL Server提供了一系列存储过程以管理SQL Server、显示有关数据库和用户的信息。SQL Server提供的存储过程称为系统存储过程。 存储过程由参数、编程语句和返回值组成。可以通过输入参数向存储过程中传递参数值,也可以通过输出参数向调用者传递多个输出值; 使用SQL Server中的存储过程的优势 8.1.2 创建存储过程 1.使用CREATE PROCEDURE语句 CREATE PROCEDURE语句的作用是创建存储过程,它的语法结构如下: CREATE PROC[ EDURE ] 存储过程名 ????[ { @parameter data_type } ????????[ VARYING ] [ = default ] [ OUTPUT ] ????] AS SQL语句 [ ...n ] 参数说明 (1) 存储过程的名称必须符合标识符规则,而且对于数据库及其所有者必须是唯一的。如果要创建局部临时过程,可以在存储过程名前面加一个编号符(#procedure_name),如果要创建全局临时过程,可以在存储过程名前面加两个编号符(##procedure_name)。完整的名称(包括 # 或 ##)不能超过128个字符。指定过程所有者的名称是可选的。 @paramete表示过程中的参数。在CREATE PROCEDURE语句中可以声明一个或多个参数。用户必须在执行过程时提供每个所声明参数的值(除非定义了该参数的默认值)。使用@符号作为第一个字符来指定参数名称。参数名称必须符合标识符的规则。每个过程的参数仅用于该过程本身;相同的参数名称可以用在其他过程中。在默认情况下,参数只能代替常量,而不能用于代替表名、列名或其他数据库对象的名称。 参数说明 (2) data_type表示参数的数据类型。所有数据类型(包括text、ntext和image)都可以用作存储过程的参数。 VARYING指定作为输出参数支持的结果集,仅适用于游标参数。 default指定参数的默认值。如果定义了默认值,不必指定该参数的值即可执行过程。默认值必须是常量或NULL。如果过程中对该参数使用LIKE关键字,那么默认值中可以包含通配符(%、_、[]和[^])。 OUTPUT表明参数是返回参数。使用OUTPUT参数可将信息返回给调用过程。Text、ntext和image参数可用作OUTPUT参数。 AS关键字指定过程要执行的操作。 过程中可以包含的任意数目和类型的Transact-SQL语句 【例8-1】 创建存储过程IncreaseWage,功能是将表Employees中所有员工的工资数据增加10%,具体语句如下: USE HrSystem GO CREATE PROCEDURE IncreaseWage AS UPDATE Employees SET Wage = Wage * 1.1 GO 【例8.2】 为了进一步增强存储过程的可用性,在【例8.1】的基础上添加参数信息。由用户通过参数动态地设置工资增长的比例。示例代码如下: USE HrSystem GO CREATE PROCEDURE IncreaseWage1 @IncRate SMALLINT AS UPDATE Employees SET Wage = Wage * (1 + @IncRate / 100) GO 与IncreaseWage相比,此存储过程多了一个参数@IncRate。在调用IncreaseWage1时,可以将需要上调工资的比例通过参数告知存储过程,存储过程再根据参数动态调整工资数额。 2.使用SQL Server Management Studio中的菜单命令 在SQL Server Management Studio中,展开要创建存储过程的数据库,例如HrSystem

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档