mysql臨時表用法分析【查詢結果可存在臨時表中】


本文實例講述了mysql臨時表用法。分享給大家供大家參考,具體如下:

一、創建臨時表可以將查詢結果寄存。報表制作的查詢sql中可以用到。

(1)關於寄存方式,mysql不支持:

1
select * into tmp from maintenanceprocess

(2)可以使用:

1
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

  

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM