mysqlテンポラリ・テーブル用法分析【クエリー結果はテンポラリ・テーブルに存在する】
1661 ワード
この例ではmysqlテンポラリ・テーブルの使い方について説明します.皆さんの参考にしてください.具体的には以下の通りです.
一、テンポラリ・テーブルを作成し、クエリーの結果を保存します.レポート作成のクエリーsqlで使用できます.
(1)預け方についてmysqlはサポートしていません:
(2)使用可能:
例:
メモ:[$点検開始時間]は、クエリーを入力できる値です.
(3)テンポラリ・テーブルを作成する別の方法の例:
ストアド・プロシージャ:
MySQLについてもっと兴味のある読者は、「MySQL検索テクニック大全」、「MySQL常用関数大概」、「MySQLログ操作テクニック大全」、「MySQLトランザクション操作テクニック大概」、「MySQLストレージプロセステクニック大全」および「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
MySQLについてもっと兴味のある読者は、「MySQL検索テクニック大全」、「MySQL常用関数大概」、「MySQLログ操作テクニック大全」、「MySQLトランザクション操作テクニック大概」、「MySQLストレージプロセステクニック大全」および「MySQLデータベースロックに関するテクニック大概」を参照してください.
本明細書では、MySQLデータベース・メーターについて説明します.