定义变量,三种方式

a.DECLARE

这种方式定义的变量,语句的位置必须在begin下,同时要带上参数类型。

语句

begin
DECLARE tname VARCHAR(50);

赋值

set tname =‘XXX’;


b.set

这种方式定义的变量,定义同时赋值,语句的位置可以任意出现,不需要带上参数类型,但定义的变量是会话变量,如果想定义局部变量,那么变量名加上'@'。

语句


set @aa='XXX';

c.select

性质同上一个set,但是这个可以通过插询记录去赋值

语句


select @var=cnm FROM tbnm;


set和select其实可以相互转化,下面两句是相同的


set @var=(select cnm FROM tbnm);
select @var=cnm FROM tbnm;