本章讨论根据存储在服务器上供以后执行的SQL代码定义的存储数据库对象。
存储的对象包括以下对象类型:
- 存储过程:
CREATE PROCEDURE
使用该CALL
语句创建并使用该语句调用的对象。过程没有返回值,但可以修改其参数以供调用方稍后检查。它还可以生成要返回给客户端程序的结果集。 - 存储的函数:
CREATE FUNCTION
使用内置函数创建并使用的对象。您在表达式中调用它,并在表达式求值期间返回一个值。 - 触发器:使用该对象创建的对象
CREATE TRIGGER
与表相关联。当表发生特定事件(例如插入或更新)时,将激活触发器。 - 事件:
CREATE EVENT
由服务器根据计划创建并由服务器调用的对象。 - 视图:使用该对象创建的对象在
CREATE VIEW
被引用时会产生结果集。视图充当虚拟表。
本文档中使用的术语反映了存储的对象层次结构:
- 存储例程包括存储过程和功能。
- 存储的程序包括存储的例程,触发器和事件。
- 存储的对象包括存储的程序和视图。
本章介绍如何使用存储的对象。以下各节提供有关与这些对象相关的语句的SQL语法以及对象处理的其他信息:
- 为每个对象类型,还有
CREATE
,ALTER
和DROP
语句控制哪些对象存在以及它们是如何定义的。请参见“数据定义语句”。 - 该
CALL
语句用于调用存储过程。请参见“ CALL语句”。 - 存储的程序定义包括可以使用复合语句,循环,条件和声明的变量的主体。请参见“复合语句语法”。
- 检测到存储程序引用的对象的元数据更改,并在下次执行该程序时导致受影响语句的自动重新分析。有关更多信息,请参见“缓存准备好的语句和存储的程序”。