MySQL 8.4 发行说明
系统变量和用户定义变量可以在存储程序中使用,就像它们可以在存储程序上下文之外使用一样。此外,存储程序可以使用 DECLARE
来定义局部变量,并且存储例程(过程和函数)可以声明为接受参数,这些参数在例程与其调用者之间传递值。
要声明局部变量,请使用
DECLARE
语句,如 第 15.6.4.1 节,“局部变量 DECLARE 语句” 中所述。可以使用
SET
语句直接设置变量。参见 第 15.7.6.1 节,“SET 语法用于变量赋值”。可以使用
SELECT ... INTO
将查询结果检索到局部变量中,或者通过打开游标并使用var_list
FETCH ... INTO
来检索。参见 第 15.2.13.1 节,“SELECT ... INTO 语句” 和 第 15.6.6 节,“游标”。var_list
有关局部变量的作用域以及 MySQL 如何解析歧义名称的信息,请参见第 15.6.4.2 节,“局部变量作用域和解析”。
不允许将值 DEFAULT
赋值给存储过程或函数参数,或存储程序局部变量(例如,使用 SET
语句)。在 MySQL 8.4 中,这会导致语法错误。var_name
= DEFAULT