mysql 臨時表 漢字 mysql的臨時表用法

2021-10-17 23:30:07 字數 2211 閱讀 7078

delimiter $$use`qgroupdata`$$drop procedure if exists`ex_print_bg_kdd_search`$$create definer=`root`@`%` procedure`ex_print_bg_kdd_search`(

_where varchar(2000), #查詢條件

_orderbyvarchar(200), #排序條件

_pageindexint, #第幾頁

_pagesizeint, #每頁的記錄數

out _pagecountint, #頁數

out _recordcountint,#查詢的總記錄數

out _buyercountint#買家數

)begin

set @strsql = concat('create table if not exists temp_exnumber as select t.`logid`, t.`buyernick`,t.`tofullname`,t.`receiver_province`,t.`receiver_city`,t.`exid`,t.`excode`,t.`excodename`,t.`exnumber`,t.`orderids`,t.`goodsnum`,t.`weight`,t.`kddtype` from ( select * from `print_bg_kdd` where exnumber<>','''','''','and exnumber is not null and',_where ,'order by `logid` desc) t group by t.`exnumber` order by t.logid desc;');prepare strsql from @strsql;executestrsql;deallocate preparestrsql;set @strsql2 = concat('create table if not exists temp_exnumber2 as select t.`status`,t.`exnumber`,t.`adddatetime` from ( select * from `print_bg_kdd` where exnumber<>','''','''','and exnumber is not null and',_where ,'order by `status` desc) t group by t.`exnumber`;');prepare strsql2 from @strsql2;executestrsql2;deallocate preparestrsql2;

#記錄數統計select count(0) into _recordcount fromtemp_exnumber ;

#買家數統計set @strsql4 = concat('select count(distinct buyernick) into @buyercount from print_bg_kdd where',_where);prepare strsql4 from @strsql4;executestrsql4;deallocate preparestrsql4;set _buyercount=@buyercount;set @startrow = _pagesize*(_pageindex -1);set @pagesize =_pagesize;set @strsql3 = concat('select a.*,b.status,b.adddatetime from temp_exnumber as a inner join temp_exnumber2 as b on a.exnumber=b.exnumber order by',_orderby,'limit',@startrow,',',@pagesize);prepare strsql3 from @strsql3;executestrsql3;deallocate preparestrsql3;

#計算訂單數select orderids fromtemp_exnumber;

#計算頁數if (_recordcount <= _pagesize) then

set _pagecount = 1;else if (_recordcount % _pagesize > 0) then

set _pagecount = _recordcount / _pagesize + 1;else

set _pagecount = _recordcount /_pagesize;end if;end if;

#刪除臨時表drop tabletemp_exnumber;drop tabletemp_exnumber2;end$$

delimiter ;

mysql臨時表更新 MySql 臨時表

今天在專案中遇到乙個,當mysql的in語句中資料量很大時,建立乙個臨時表的例子。於是樓主整理了一下關於臨時表的知識,與大家分享一下 首先,臨時表只在當前連線可見,當關閉連線時,mysql會自動刪除表並釋放所有空間。因此在不同的連線中可以建立同名的臨時表,並且操作屬於本連線的臨時表。建立臨時表 cr...

mysql 臨時表 限制 Mysql臨時表

當你建立臨時表的時候,你可以使用temporary關鍵字。如 create temporary table tmp table name varchar 10 not null,passwd char 6 not null 或create temporary table if not exists ...

mysql怎麼是臨時表 MySQL臨時表

在本教程中,我們將討論mysql臨時表,並演示如何建立,使用和刪除臨時表。mysql臨時表簡介 在mysql中,臨時表是一種特殊型別的表,它允許您儲存乙個臨時結果集,可以在單個會話中多次重用。當使用join子句查詢需要單個select語句的資料是不可能或遇到瓶頸的時候,臨時表非常方便。在這種情況下,...