13.6.4 存储程序中的变量

系统变量和用户定义的变量可以在存储程序中使用,就像它们可以在存储程序上下文之外使用一样。此外,存储的程序可以使用DECLARE来定义局部变量,并且可以声明存储的例程(过程和函数)以采用在例程与其调用程序之间传递值的参数。

有关局部变量范围以及 MySQL 如何解析歧义名称的信息,请参见第 13.6.4.2 节“局部变量的范围和解决方案”

不允许将值DEFAULT分配给存储过程或函数参数或存储程序局部变量(例如,带有SET var_name = DEFAULT语句)。在 MySQL 5.7 中,这会导致语法错误。