MySQL 8.4 Release Notes
15.6.4 存储程序中的变量
系统变量和用户定义变量可以在存储程序中使用,就像在存储程序外部一样。另外,存储程序可以使用DECLARE
语句定义局部变量,并且存储程序(过程和函数)可以声明参数,以便在程序和调用者之间传递值。
-
要声明局部变量,请使用
DECLARE
语句,详见第15.6.4.1节,“Local Variable DECLARE Statement”。 -
变量可以使用
SET
语句直接设置。详见第15.7.6.1节,“SET Syntax for Variable Assignment”。 -
查询结果可以使用
SELECT ... INTO
或打开游标并使用var_list
FETCH ... INTO
将结果检索到局部变量中。详见第15.2.13.1节,“SELECT ... INTO Statement”,和第15.6.6节,“Cursors”。var_list
关于局部变量的作用域和MySQL如何解析不确定名称,请见第15.6.4.2节,“Local Variable Scope and Resolution”。
不能将值DEFAULT
分配给存储程序或函数参数或存储程序局部变量(例如使用SET
语句)。在MySQL 8.4中,这将导致语法错误。var_name
= DEFAULT