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