mysqlテンポラリ・テーブル用法分析【クエリー結果はテンポラリ・テーブルに存在する】

1661 ワード

この例では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


MySQLについてもっと兴味のある読者は、「MySQL検索テクニック大全」、「MySQL常用関数大概」、「MySQLログ操作テクニック大全」、「MySQLトランザクション操作テクニック大概」、「MySQLストレージプロセステクニック大全」および「MySQLデータベースロックに関するテクニック大概」を参照してください.
本明細書では、MySQLデータベース・メーターについて説明します.