版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/caox_nazi/article/details/83790816
mysql (declare,set,@)解析分析区别
1.【局部变量与用户变量的区别】:
局部变量:(1):局部变量使用declare语句定义;(2):局部变量只在begin-end语句块之间有效;(3):局部变量中没有“@”符号。
用户变量:(1):用户变量是以”@”开头的 ;(2)用户变量使用set语句定义。
2.【declare用法】:
通过declare定义变量在BEGIN…END中,且在语句之前。并且可以通过重复定义多个变量。
3.【set用法】:
SET @t1=0, @t2=1, @t3=2;
SELECT @t1:=1;
RESULT:=> t1 = 1
SELECT @t1:=(@t2:=1)+@t3:=4,@t1,@t2,@t3;
RESULT:=> t2=1;
t3=4;
t1 = t2 + t3
t1 = 1 + 4 = 5;
4.【操作用法】:
【4.1】: declare用来定义局部变量;
【4.2】: @用来定义会话变量(用户变量)
代表整个会话过程他都是有作用的,这个有点类似于全局变量一样。这种变量用途比较广,因为只要在一个会话内(就是某个应用的一个连接过程中),这个变量可以在被调用的存储过程或者代码之间共享数据。
5.【参考文献】: mysql变量定义(declare,set,@)使用实例讲解