Feb
16
mysql的set和declare区别
tommyhu , 11:41 , DBA » MYSQL , Comments(0) , Trackbacks(0) , Reads(2563) , Via Original
Large | Medium | Small


1. 类型声明
set 不需要声明类型,declare必须指定类型
2. 位置
set 位置可以任意, declare 必须在复合语句的开头,在任何其它语句之前
3.作用范围
DECLARE 定义的变量的作用范围是BEGIN … END块内,只能在块中使用。
SET 定义的变量用户变量,作用范围是会话/全局
如SET @var=12的定义,则var的作用域为整个会话,为会话变量.
如SET global var=12的定义,则var的作用域为全局,为全局变量.
set 不需要声明类型,declare必须指定类型
2. 位置
set 位置可以任意, declare 必须在复合语句的开头,在任何其它语句之前
3.作用范围
DECLARE 定义的变量的作用范围是BEGIN … END块内,只能在块中使用。
SET 定义的变量用户变量,作用范围是会话/全局
如SET @var=12的定义,则var的作用域为整个会话,为会话变量.
如SET global var=12的定义,则var的作用域为全局,为全局变量.