内容提要
1、掌握存储过程的定义与使用
2、掌握用户定义函数的创建与使用
3、掌握触发器的定义与使用
4、掌握游标的定义与使用
第一节 存储过程
使用T-SQL语言编写,有两种方式存储:
- 在客户端存储代码通过客户端程序或SQL命令向DBMS发出操作请求,由DBMS将结果返回给用户程序。
- 以子程序的形式将程序模块存储在数据库中,供有权限的用户通过调用反复执行。
存储过程:即存储在数据库中供所有用户程序调用的子程序。
用户自定义存储过程是由用户创建并能完成某特定功能(如查询用户所需数据信息)的存储过程。本节将详细介绍用户自定义的存储过程。
2、创建、执行和删除存储过程
存储过程定义包含两个主要组成部分:
①过程名称及其参数的说明
②过程的主体(其中包含执行过程操作的Transact-SQL语句)。
创建存储过程的语法格式如下:
执行存储过程:
删除存储过程:
第二节 用户自定义函数
- 用户定义函数:
类似于编程语言中的函数,其结构与存储过程类似,但函数必须有一个RETURN子句,用于返回函数值。 - 两类用户定义函数:
标量函数和表值函数。前者返回单个数据值,表值函数返回一个表。
第三节 触发器
1、基本概念
触发器:特殊存储过程,在对表中的数据进行
UPDATE、INSERT、DELETE操作时自动触发执行,
常用于保证业务规呗则和数据完整性,增强数据完整性约束能力。
- SQL Server2008支持三种类型的触发器:
DML、DDL、登录触发器。
对于更新操作的触发器:
更新 :
①删除原数据
②插入新数据
适用场合
- 完成比CHECK(只能实现同一表列之间取值约束)约束更复杂的数据约束。
- 保证数据库性能而维护的非规范化数据。
- 可实现复杂的商业规则。
- 评估数据修改前后的表状态,并采取对策。
第四节 游标
1、游标的组成
游标结果集(SELECT返回结果集)与游标当前行指针(指向结果集中某一行)
特点:
- 定位特定行;
- 从当前位置检索一行或多行;
- 支持当前行数据修改;
- 对修改结果提供不同级别的可见性支持
习题: