第 23 章存储 Objects

目录

  • 23.1 定义存储的程序

  • 23.2 使用存储的例程

  • 23.3 使用触发器

  • 23.4 使用 Event Scheduler

  • 23.5 使用视图

  • 23.6 存储 Object 访问控制

  • 23.7 存储程序二进制 Logging

  • 23.8 存储程序的限制

  • 23.9 视图限制

本章讨论存储的数据库 objects,它们是根据 SQL code 定义的,存储在服务器上以便以后执行。

存储的 objects 包括这些 object 类型:

  • 存储过程:使用创建程序创建的 object,并使用呼叫语句调用。过程没有 return value 但可以修改其参数以供调用者稍后检查。它还可以生成要返回到 client 程序的结果_set。

  • 存储 function:使用创建 FUNCTION创建的 object,其用途与 built-in function 非常相似。您在表达式中调用它,并在表达式 evaluation 期间返回 value。

  • 触发器:使用创建的 object 与 table 关联。当 table 出现特定的 event 时,会激活触发器,例如 insert 或 update。

  • Event:使用创建 EVENT创建的 object,由服务器根据计划调用。

  • 视图:使用创建视图创建的 object,在引用时生成结果集。视图充当虚拟 table。

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

  • 存储例程包括存储过程和函数。

  • 存储的程序包括存储的例程,触发器和 events。

  • 存储的 objects 包括存储的程序和视图。

本章介绍如何使用存储的 objects。以下部分提供了有关这些 objects 的 statements 的 SQL 语法以及 object 处理的其他信息:

  • 对于每个 object 类型,都有CREATEALTERDROP statements 来控制哪些 object 存在以及它们是如何定义的。见第 13.1 节,“数据定义语句”。

  • 呼叫语句用于调用存储过程。见第 13.2.1 节,“CALL 语法”。

  • 存储的程序定义包括可以使用复合语句,循环,条件和声明的变量的主体。见第 13.6 节,“Compound-Statement 语法”。

  • 检测到存储程序引用的 objects 的元数据更改,并在下次执行程序时自动重新分析受影响的语句。有关更多信息,请参阅第 8.10.4 节,“准备报表和存储程序的缓存”。