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