存储过程中@是用来标识每一次运行存储过程都会保存的值。而直接命名是每一次都会初始化的局部变量。@@是用来标识全局变量。
CREATE PROCEDURE prc_test ()
BEGIN
DECLARE var2 INT DEFAULT 1;
SET var2 = var2 + 1;
SET @var2 = @var2 + 1;
SELECT var2, @var2;
END;
SET @var2 = 1;
CALL prc_test();
DROP PROCEDURE prc_test