mysql存储过程----三种定义变量方式

定义变量,三种方式

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;



定义变量,三种方式 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;
经验分享 程序员 微信小程序 职场和发展