Related Documentation Download this Manual
PDF (US Ltr) - 40.8Mb
PDF (A4) - 40.9Mb
Man Pages (TGZ) - 294.0Kb
Man Pages (Zip) - 409.0Kb
Info (Gzip) - 4.0Mb
Info (Zip) - 4.0Mb
Excerpts from this Manual

MySQL 8.3 Reference Manual  /  Stored Objects  /  Using Stored Routines

27.2 使用存储例程

MySQL 支持存储例程(过程和函数)。存储例程是一组 SQL 语句,可以存储在服务器中。一旦完成,这些语句不需要由客户端重新发出,而可以引用存储例程。

存储例程在某些情况下非常有用:

  • 当多个客户端应用程序用不同语言或平台编写,但需要执行相同的数据库操作时。

  • 当安全性至关重要时。例如,银行使用存储过程和函数来执行所有常见操作。这提供了一个一致且安全的环境,并且可以确保每个操作都被正确记录。在这种设置中,应用程序和用户将无法直接访问数据库表,而只能执行特定的存储例程。

存储例程还可以提高性能,因为客户端和服务器之间需要传输的信息较少。然而,这也增加了数据库服务器的负载,因为更多的工作是在服务器端完成的,而不是在客户端(应用程序)端完成的。请考虑,如果许多客户端机器(例如 Web 服务器)由少数数据库服务器提供服务。

存储例程还允许您在数据库服务器中拥有函数库。这是现代应用语言的功能特性,例如使用类来实现内部设计。使用这些客户端应用语言功能对程序员非常有益,即使超出了数据库使用的范围。

MySQL遵循 SQL:2003 语法来存储例程,这也是 IBM 的 DB2 使用的语法。这里描述的所有语法都受支持,并且任何限制和扩展都将在适当的地方记录。

其他资源