gpt4 book ai didi

mysql - 使用存储过程时声明 @variablename 和声明变量名之间的区别

转载 作者:行者123 更新时间:2023-11-30 00:00:34 25 4
gpt4 key购买 nike

我想知道@variablenamevariablename之间有什么区别。所有的帮助将不胜感激。

最佳答案

variablename

局部变量

局部变量在存储过程中声明,并且仅在声明它们的 BEGIN…END block 中有效。局部变量可以具有任何 SQL 数据类型。

@variablename

用户变量

在 MySQL 存储过程中,用户变量是通过在用户变量名称前面加上“&”号 (@) 来引用的(例如,@x 和 @y)。您可以在一个语句中将值存储在用户定义变量中,然后在另一语句中引用它。这使您能够将值从一个语句传递到另一语句。用户定义的变量是特定于 session 的。也就是说,一个客户端定义的用户变量不能被其他客户端看到或使用。当该客户端退出时,给定客户端 session 的所有变量都会自动释放。

在 MySQL 中,变量 var1 和 @var1 是两个不同的东西。 @var1 是一个用户 session 变量,在事件 session 期间保留。另一个是本地存储过程。

关于mysql - 使用存储过程时声明 @variablename 和声明变量名之间的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25080850/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com