# 第25章 存储对象

**目录**

[25.1 定义存储程序](stored-programs-defining.html)
[25.2 使用存储的例程](stored-routines.html)
[25.2.1 存储例程语法](stored-routines-syntax.html)
[25.2.2 存储例程和 MySQL 权限](stored-routines-privileges.html)
[25.2.3 存储的例程元数据](stored-routines-metadata.html)
[25.2.4 存储过程、函数、触发器和LAST\_插入\_ID（）](stored-routines-last-insert-id.html)
[25.3 使用触发器](triggers.html)
[25.3.1 触发器语法和示例](trigger-syntax.html)
[25.3.2 触发元数据](trigger-metadata.html)
[25.4 使用事件调度器](event-scheduler.html)
[25.4.1 事件调度器概述](events-overview.html)
[25.4.2 事件调度器配置](events-configuration.html)
[25.4.3 事件语法](events-syntax.html)
[25.4.4 事件元数据](events-metadata.html)
[25.4.5 事件调度器状态](events-status-info.html)
[25.4.6 事件调度器和 MySQL 权限](events-privileges.html)
[25.5 使用视图](views.html)
[25.5.1 查看语法](view-syntax.html)
[25.5.2 查看处理算法](view-algorithms.html)
[25.5.3 可更新和可插入视图](view-updatability.html)
[25.5.4 视图 WITH CHECK OPTION 子句](view-check-option.html)
[25.5.5 查看元数据](view-metadata.html)
[25.6 存储对象访问控制](stored-objects-security.html)
[25.7 存储程序二进制日志](stored-programs-logging.html)
[25.8 存储程序的限制](stored-program-restrictions.html)
[25.9 视图限制](view-restrictions.html)

[](<>)[](<>)[](<>)[](<>)[](<>)[](<>)[](<>)[](<>)[](<>)[](<>)

本章讨论存储的数据库对象，这些对象是根据存储在服务器上供以后执行的 SQL 代码定义的。

存储的对象包括以下对象类型：

-   存储过程：创建的对象[`创建过程`](create-procedure.html)并使用[`称呼`](call.html)陈述。过程没有返回值，但可以修改其参数以供调用者稍后检查。它还可以生成要返回给客户端程序的结果集。

-   存储函数：创建的对象[`创建函数`](create-function.html)并且使用起来很像内置函数。您在表达式中调用它，它会在表达式求值期间返回一个值。

-   触发器：创建的对象[`创建触发器`](create-trigger.html)与表相关联。当表发生特定事件（例如插入或更新）时，将激活触发器。

-   事件：创建的对象[`创建事件`](create-event.html)并由服务器按计划调用。

-   视图：创建的对象[`创建视图`](create-view.html)当被引用时会产生一个结果集。视图充当虚拟表。

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

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

-   存储的程序包括存储的例程、触发器和事件。

-   存储对象包括存储的程序和视图。

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

-   对于每种对象类型，有`创建`,`改变`， 和`降低`控制哪些对象存在以及如何定义它们的语句。看[第 13.1 节，“数据定义声明”](sql-data-definition-statements.html).

-   这[`称呼`](call.html)语句用于调用存储过程。看[第 13.2.1 节，“CALL 语句”](call.html).

-   存储的程序定义包括可以使用复合语句、循环、条件和声明变量的主体。看[第 13.6 节，“复合语句语法”](sql-compound-statements.html).

-   检测到存储程序引用的对象的元数据更改，并在下次执行程序时自动重新解析受影响的语句。有关详细信息，请参阅[第 8.10.3 节，“准备语句和存储程序的缓存”](statement-caching.html).
