ID: 19589777

第9章 流程控制、存储过程与触发器 课件(共71张PPT)-《数据库应用技术-SQL Server》同步教学(人民邮电版)

日期:2026-02-15 科目: 类型:课件 查看:41次 大小:1701361B 来源:二一课件通
预览图 1/12
PPT,邮电,人民,教学,同步,数据库应用技术-SQL Server
  • cover
(课件网) 第9章 流程控制、存储过程与触发器 本章主要介绍流程控制以及如何创建存储过程与使用触发器,包括存储过程简介、创建存储过程、执行存储过程、修改和删除存储过程、触发器简介、创建触发器、修改触发器和删除触发器。 通过本章的学习,读者可以掌握使用企业管理器和Transact-SQL创建存储过程或触发器,并应用存储过程或触发器编写SQL语句从而优化查询和提高数据访问速度。 2 存储过程 3 触发器 1 流程控制 9.1 流 程 控 制 9.1.1 BEGIN...END 语法: BEGIN {sql_statement...} END 9.1.2 IF IF结构的语法如下: IF<条件表达式> {命令行|程序块} 9.1.3 IF…ELSE IF结构的语法如下: IF<条件表达式> {命令行1|程序块1} [ELSE {命令行2|程序块2} 9.1.4 CASE Transact-SQL支持CASE有两种语句格式。 简单CASE函数: CASE input_expression WHEN when_expression THEN result_expression [ ...n ] [ ELSE else_result_expression END CASE搜索函数: CASE WHEN Boolean_expression THEN result_expression [ ...n ] [ ELSE else_result_expression END 9.1.5 WHILE WHILE<条件表达式> BEGIN <命令行|程序块> END 9.1.6 WHILE…CONTINUE…BREAK 语法: WHILE<条件表达式> BEGIN <命令行|程序块> [BREAK] [CONTINUE] [命令行|程序块] END 9.1.7 RETURN RETURN语句用于从查询过程中无条件退出。RETURN语句可在任何时候用于从过程、批处理或语句块中退出。位于RETURN之后的语句不会被执行。 语法: RETURN[整数值] 9.1.8 GOTO GOTO命令用来改变程序执行的流程,使程序跳到标识符指定的程序行再继续往下执行。 语法: GOTO 标识符 标识符需要在其名称后加上一个冒号“:“。 9.1.9 WAITFOR WAITFOR指定触发器、存储过程或事务执行的时间、时间间隔或事件;还可以用来暂时停止程序的执行,直到所设定的等待时间已过才继续往下执行。 语法: WAITFOR{DELAY<’时间’>|TIME<’时间’> 9.2 存储过程简介 存储过程(Stored Procedure)是在数据库服务器端执行的T-SQL语句的集合,经编译后存放在数据库服务器中。 存储过程作为一个单元进行处理并由一个名称来标识。 它能够向用户返回数据、在数据库表中写入或修改数据,还可以执行系统函数和管理操作。 用户在编程过程中只需要给出存储过程的名称和必需的参数,就可以方便地调用它们。 存储过程可以提高应用程序的处理能力,降低编写数据库应用程序的难度,同时还可以提高应用程序的效率。 存储过程的处理非常灵活,允许用户使用声明的变量,还可以有输入输出参数,返回单个或多个结果集以及处理后的结果值。 9.2.1 存储过程的优点 (1)存储过程可以嵌套使用,支持代码重用。 (2)存储过程可以接受并使用参数动态执行其中的SQL语句。 (3)存储过程比一般的SQL语句执行速度快。 (4)存储过程具有安全特性(例如权限)和所有权链接,以及可以附加到它们的证书。 (5)存储过程允许模块化程序设计。 (6)存储过程可以减少网络通信流量。 (7)存储过程可以强制应用程序的安全性。 9.2.2 存储过程的类别 (1)系统存储过程 (2)用户自定义存储过程 (3)扩展存储过程 9.3 创建存储过程 在SQL Server 2016中创建存储过程有两种方法:一种方法是使用企业管理器创建存储过程;另一种方法是使用Transact-SQL语言创建存储过程。 9.3.1 使用企业管理器创建存储过程 【例9-1】 创建存储过程。 图9.1 用对象资源管理器创建存储过程 图9.2 在Management Studio中编写存储过程 9.3.2 使用Transact-SQL语言创建存 储过程 CREATE PROCEDURE语句用于在服务器上创建存储过程。 语法: CREATE PROC [ EDURE ] procedure_name [ ; ... ...

~~ 您好,已阅读到文档的结尾了 ~~