http://dev.mysql.com/doc/refman/5.7/en/declare-local-variable.html
http://dev.mysql.com/doc/refman/5.7/en/set-variable.html
SET Syntax for Variable Assignment
Local Variable DECLARE Syntax
DECLAREvar_name
[,var_name
] ...type
[DEFAULTvalue
]
This statement declares local variables within stored programs.
SETvariable_assignment
[,variable_assignment
] ...variable_assignment
:user_var_name
=expr
|param_name
=expr
|local_var_name
=expr
| [GLOBAL | SESSION]system_var_name
=expr
| [@@global. | @@session. | @@]system_var_name
=expr
SET
syntax for variable assignment enables you to assign values to different types of variables that affect the operation of the server or clients:
System variables. See Section 6.1.5, “Server System Variables”. System variables also can be set at server startup, as described in Section 6.1.6, “Using System Variables”. (To display system variable names and values, use the
SHOW VARIABLES
statement; see Section 14.7.5.39, “SHOW VARIABLES Syntax”.)User-defined variables. See Section 10.4, “User-Defined Variables”.
Stored procedure and function parameters, and stored program local variables. See Section 14.6.4, “Variables in Stored Programs”.