MySQL 8.4 Release Notes
27.2 使用存储例程
MySQL 支持存储例程(存储过程和函数)。存储例程是一组 SQL 语句,可以在服务器上存储。完成后,客户端不需要重新发送单个语句,而是可以引用存储例程。
存储例程在某些情况下特别有用:
-
当多个客户端应用程序使用不同的语言或平台,但需要执行相同的数据库操作时。
-
当安全性非常重要。例如,银行使用存储过程和函数来执行所有常见操作。这提供了一个一致和安全的环境,存储例程可以确保每个操作都被正确记录。在这种情况下,应用程序和用户不能直接访问数据库表,而只能执行特定的存储例程。
存储例程可以提高性能,因为需要发送的信息减少了。然而,这也增加了数据库服务器的负载,因为更多的工作是在服务器端完成,而不是在客户端(应用程序)端。考虑到这个问题,如果有许多客户机(例如 Web 服务器)由一个或几个数据库服务器服务。
存储例程还允许在数据库服务器上拥有函数库。这是现代应用语言中的一种特性,用于在数据库中实现类似设计(例如,使用类)。使用这些客户端应用语言特性对程序员非常有益,即使在数据库外。
MySQL遵循 SQL:2003 语法来实现存储例程,这也是 IBM 的 DB2 使用的语法。所有语法都被支持,任何限制和扩展都在适当的地方被记录。
-
您可能会在 存储过程用户论坛 中找到有用的信息。
-
对于 MySQL 8.4FAQ:存储过程和函数,请查看 Section A.4, “MySQL 8.4 FAQ: Stored Procedures and Functions”。
-
存储例程有一些使用限制。请查看 Section 27.8, “Restrictions on Stored Programs”。
-
存储程序的二进制日志记录按照第27.7节,“存储程序二进制日志记录”中描述进行。