MySql 中文参考指南

Chapter 27 Stored Objects

目录

本章讨论存储在数据库中的对象,这些对象根据存储在服务器中以备以后执行的 SQL 代码来定义。

存储对象包括以下对象类型:

  1. 存储过程:使用 CREATE PROCEDURE 创建并使用 CALL 语句调用的对象。一个过程没有返回值,但可以修改其参数,以便稍后由调用方检查。它还可以生成结果集,以返回给客户端程序。

  2. 存储函数:使用 CREATE FUNCTION 创建并用得很像内置函数的对象。你在一个表达式中调用它,在表达式评估期间,它返回一个值。

  3. 触发器:使用 CREATE TRIGGER 创建并与表关联的对象。当表中发生特定事件时会激活触发器,例如插入或更新。

  4. 事件:使用 CREATE EVENT 创建且由服务器按计划调用的对象。

  5. 视图:使用 CREATE VIEW 创建并引用时产生结果集的对象。视图充当虚拟表。

本文档中使用的术语反映了存储对象层次结构:

  1. 存储例程包括存储过程和函数。

  2. 存储程序包括存储例程、触发器和事件。

  3. 存储对象包括存储程序和视图。

本章节介绍如何使用存储对象。以下部分提供了与这些对象相关的语句的 SQL 语法以及对象处理的其他信息:

  1. 对于每种对象类型,都有 CREATEALTERDROP 语句来控制哪些对象存在及其如何定义。请参阅 Section 15.1, “Data Definition Statements”

  2. CALL 语句用于调用存储过程。参见 Section 15.2.1, “CALL Statement”

  3. 存储程序定义包括可能使用复合语句、循环、条件和声明变量的主体。请参阅 Section 15.6, “Compound Statement Syntax”

  4. 系统会检测到存储程序引用的对象发生元数据更改,并在下次执行程序时自动重新解析受影响的语句。有关更多信息,请参阅 Section 10.10.3, “Caching of Prepared Statements and Stored Programs”