這篇文章將為大家詳細講解有關怎么在mysql中使用臨時表,文章內容質量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關知識有一定的了解。
一、創建臨時表可以將查詢結果寄存
(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
關于怎么在mysql中使用臨時表就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。