变量: 可在存储程序(存储过程和函数)中使用变量;
变量作用域: 在存储程序中的 begin...end
间;
1、MySQL变量:声明:
declare varName[,varName2...] type[default value];
① declare
声明关键字;
② varName[,varName2…] 变量名;可多个变量同时声明;
③ type 变量的数据类型;
④ default value 可添加默认value值,如:
declare num int default 10;
2、MySQL变量:赋值:
通过赋值改变默认值
set varName =value
,...
,varName_n =value_n; /* 赋值SQL语法1 */
① value可以是其它SQL表达式; ② 可多个变量:键值对形式并(,)逗号隔开
select col_name[,...]
into varName[,...]
table_expr; /* 赋值SQL语法2 */
查询 col_name[,…] 并把结果赋值给 varName[,…];以 table_expr 条件查询
示例A
set num=100;
select store into num from bookinfo;
/*从bookinfo表查询store库存,再赋值给num */
示例B:
create function show_name_store(bid int)
returns varchar(50)
return (select concat_ws('----',book_name,store) from bookinfo where book_id=bid);
添加变量,使函数show_name_store()更具可读性
delimiter //
create function show_name_store(bid int)
returns varchar(50)
begin
declare result varchar(50);
select concat_ws('----',book_name,store) into result from bookinfo where book_id=bid;
return (result);
end //
delimiter ;