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;