第八章 数据库后台编程技术

内容提要:

  1. 掌握存储过程的定义与使用
  2. 掌握用户定义函数的创建与使用
  3. 掌握触发器的定义与使用
  4. 掌握游标的定义与使用

8.1 存储过程

8.1.1 基本概念:

  • 使用T-SQL语言编写代码时,有两种方式存储和执行代码:
    1. 在客户端存储代码,通过客户端程序或SQL命令向DBMS发出操作请求,由DBMS将结果返回给用户程序。
    2. 以子程序的形式将程序模块存储在数据库中的用户通过调用反复执行。
  • 存储过程:即存储在数据库中供所有用户序调用的子程序

  • 存储过程分为三类:
    1. 系统存储过程
    2. 用户自定义存储过程
      • 由用户创建并能完成某特定功能(如查询用户所需数据信息)的存储过程。
    3. 扩展存储过程

8.1.2 创建、执行和删除存储过程

创建存储过程:

CREATE PROCEDURE

执行存储过程:

{ EXEC | EXECUTE }

删除存储过程:

DROP PROCEDURE

8.2  用户定义函数

  • 用户定义函数:
    • 类似于编程语言中的函数,其结构与存储过程类似,但函数必须有一个RETURN子句,用于返回函数值。
  • 两类用户定义函数:
    • 标量函数:返回单个数据

语法格式:

  • 表值函数:返回一个表

 

8.3 触发器

8.3.1 基本概念:

8.3.2 创建触发器:

For  或者 After : 后触发型

Instead of : 前触发型

注意点:

  • 一个表上可建立多个触发器,每个触发器可由三个操作触发。ALTER类型同一操作上建立多个触发器,INSTEAD OF类型同一操作上建立一个触发器。
  • 所有建立和更改数据库以及数要库对象的语句、DROP语句都不允许在触发器中使用。
  • 在触发器中不要返回任何结果。

  • insert触发器会在inserted表中添加一条刚插入的记录,update触发器会在更新数据后将更新前的数据保存在deleted表中,更新后的数据保存在inserted表中。

 

8.4 游标

其余章节进我主页进行查看

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐