mysql存储过程@命名变量的区别

存储过程中@是用来标识每一次运行存储过程都会保存的值。而直接命名是每一次都会初始化的局部变量。@@是用来标识全局变量。

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

原文地址:https://www.cnblogs.com/wlhebut/p/6400014.html