数据库原理与应用 第 15 章 · 第一节
课程 › 第 15 章 › 第一节 章首两个概念过程与函数 版式
第 15 章 存储过程与函数 · 第一节

存储过程与函数概述

什么是存储过程和存储函数,存储过程的优点,两者的区别
本 节 知 识 点
  1. 01第 15 章 存储过程与函数
  2. 02存储过程和存储函数
  3. 03存储过程与存储函数的比较
01
第 15 章 · 第一节 · 课件第 1、2、3 页

第 15 章 存储过程与函数

把一段 SQL 程序存进数据库,以后按名称调用。

课件第 1 页

分清楚

内容在哪一节
变量、运算符、流程控制第二至四节
内置函数第五节
存储过程第六、七节
自定义函数和游标第八节

重 点

前面各章每次执行一条语句。本章把多条语句组织成程序,存放在数据库中。

02
第 15 章 · 第一节 · 课件第 4、5、6 页合并重做

存储过程和存储函数

都是存放在数据库中的一段 SQL 程序。

15.1 存储过程与函数课件第 4、5、6 页合并

存储过程和存储函数

存储过程和存储函数都是存放在数据库中、有名称的一段 SQL 程序,其中可以使用变量、分支和循环,可以反复调用。
两者的定义
定义
存储过程一组完成特定功能的 SQL 代码段,编译后存储在数据库中,用 CALL 按名称调用,可以带参数
存储函数由一组 SQL 语句和控制结构语句组成,执行后用 RETURN 返回一个函数值

两者的功能都由 BEGIN … END 中的代码决定。

存储过程的优点
  • 可以用流程控制语句完成复杂的运算,增强了 SQL 的功能
  • 编译后存储在数据库中,便于多次调用
  • 创建时已经编译和优化,执行速度更快
  • 调用时只传送调用语句,减少网络流量
  • 只有被授权的用户才能执行,可作为安全机制

重 点

存储过程和函数编译一次、存在库中,以后每次调用不用再传送和编译代码。

想一想

把业务处理写进存储过程,有什么不便之处?

03
第 15 章 · 第一节 · 课件第 7 页

存储过程与存储函数的比较

过程用 CALL 调用做一件事,函数返回一个值。

课件第 7 页

练一练

关于存储过程和存储函数,下列说法正确的是?
  1. A存储过程必须有 RETURN 语句
  2. B函数有 IN、OUT、INOUT 三种参数
  3. C函数可以用在 SELECT 语句中,存储过程不能
答案 C

过程不能用 RETURN 返回值,函数只有输入参数。函数像内置函数一样用在表达式中,过程要用 CALL 调用。

保山学院·人工智能教研室·曹鼎鼎