mysql写过程存储(入门级)

BEGIN

#定义变量,先定义再引用,引用时@+变量名

declare city varchar(100);
declare device varchar(10);
declare table varchar(50);
declare sqlstr varchar(100);
declare i int;
declare u varchar(10);

#为变量赋值
set @device='jsj_';
set @city='sz,gz,fs,dg,zs,hz,jm,st,zh,jy,zj,mm,zq,qy,cz,mz,sg,hy,yj,sw,yf';
set @sqlstr='';
set @u='';
set i=1;


while i<62 do

#substring(@city1,i,2),数据库没有数组的写法,通过分切得到每一个关键词,拼接表名

set @table=concat(@device,substring(@city1,i,2));

#拼接sql语句,循环查询表,21个不同城市的表
set @sqlstr=concat(@sqlstr,@u,' SELECT *  from ',@table);
set @u='union all';
set i=i+3;
end while;

SET @sqlstr=concat('CREATE TABLE RESULT AS', @sqlstr);

#执行sql语句
prepare stmt from @sqlstr;
EXECUTE stmt; #Routine body goes here...


END
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值