mysql临时表用法分析【查询结果可存在临时表中】
程序员文章站
2022-04-10 22:42:44
本文实例讲述了mysql临时表用法。分享给大家供大家参考,具体如下:
一、创建临时表可以将查询结果寄存。报表制作的查询sql中可以用到。
(1)关于寄存方式,mysql...
本文实例讲述了mysql临时表用法。分享给大家供大家参考,具体如下:
一、创建临时表可以将查询结果寄存。报表制作的查询sql中可以用到。
(1)关于寄存方式,mysql不支持:
select * into tmp from maintenanceprocess
(2)可以使用:
create table tmp (select ...)
举例:
#单个工位检修结果表上部 drop table if exists tmp_单个工位检修结果表(检查报告)上部; create table tmp_单个工位检修结果表(检查报告)上部 (select workareaname as '机器号',m.jobnumber as '检修人员编号',u.username as '检修人员姓名',logintime as '检修开始时间', concat(floor((time_to_sec(exittime) - time_to_sec(logintime))/60),'分钟') as '检修持续时长' from maintenanceprocess as m left join user u on m.jobnumber = u.jobnumber where m.jobnumber = [$检修人员编号] and logintime = [$检修开始时间] );#创建临时表 select * from tmp_单个工位检修结果表(检查报告)上部;
备注:[$检修开始时间]是可输入查询的值
(3)创建临时表的另一种方式举例:
存储过程中:
begin #routine body goes here... declare cnt int default 0; declare i int default 0; set cnt = func_get_splitstringtotal(f_string,f_delimiter); drop table if exists `tmp_split`; create temporary table `tmp_split` (`val_` varchar(128) not null) default charset=utf8; while i < cnt do set i = i + 1; insert into tmp_split(`val_`) values (func_splitstring(f_string,f_delimiter,i)); end while; end
下一篇: 宋江最怕的帮派是什么?1人就能灭梁山