mysql http://yaojialing.iteye.com/blog/773973
delimiter $$
Pattern p = Pattern.compile("^\\[(\\d(\\.\\d)?|10),(\\d(\\.\\d)?|10)\\]");
########################################################################
# xxxx
# 对表xxx表预处理,
# 生成导出临时表xxxx
# author: xxx
########################################################################
drop procedure if exists xxxx; $$
create procedure xxxx
(
in inStrParam1 varchar(128), #开始时间
in inStrParam2 varchar(128), #结束时间
in inStrParam3 varchar(1024), #其他查询条件
out rstIntParam int,
out rstStrParam varchar(2048)
)
lab_top:
begin
#声明
declare ERROR_CODE int default 1; #执行错误返回码
declare SUCCESS_CODE int default 0; #执行成功返回码
declare PROT_CATEGORY_NAME VARCHAR(100) default NULL;
declare PROT_TYPE_NAME VARCHAR(100) default NULL;
declare exception int default 0;
declare continue handler for SQLEXCEPTION set exception = 1;
#初始化返回值
set rstIntParam = SUCCESS_CODE;
set rstStrParam = "";
#判断输入参数,开始时间和结束时间是必选
if inStrParam1 is null or inStrParam1 = ""
or inStrParam2 is null or inStrParam2 = "" then
set rstIntParam = ERROR_CODE;
set rstStrParam = "Error happened in xxxx at 01.";
end if;
drop table if exists xxxx;
create table xxxx like xxxx;
call sp_comm_add_field("xxxx","PROT_CATEGORY_NAME",100,PROT_CATEGORY_NAME);
call sp_comm_add_field("xxxx","PROT_TYPE_NAME",100,PROT_TYPE_NAME);
if rst != SUCCESS_CODE then
set rstIntParam = ERROR_CODE;
set rstStrParam = concat("Error happened in xxxx at 02.");
leave lab_top;
end if;
#增加临时表
#drop table if exists xxxx;
#create table xxxx like xxxx;
#检查是否异常
if exception then
set rstIntParam = ERROR_CODE;
set rstStrParam = "Error happened in xxxx at 03.";
leave lab_top;
end if;
insert into xxxx
(
STARTTIME,
PROT_CATEGORY_NAME,
PROT_TYPE_NAME,
UL_THROUGHPUT,
DW_THROUGHPUT,
THROUGHPUT_TOTAL,
UL_PACKETS,
DW_PACKETS,
USERNUM_TOTAL
)
select
STARTTIME,
PROT_CATEGORY_NAME,
PROT_TYPE_NAME,
UL_THROUGHPUT,
DW_THROUGHPUT,
THROUGHPUT_TOTAL,
UL_PACKETS,
DW_PACKETS,
USERNUM_TOTAL
from xxxx INNER JOIN xxxx ON
xxxx.PROT_CATEGORY_ID=xxxx.PROT_CATEGORY_ID
INNER JOIN xxxx ON xxxx.PROT_TYPE_ID=xxxx.PROT_TYPE_ID
where STARTTIME BETWEEN '2012-01-01' AND '2013-01-01' ;
end lab_top; $$
delimiter; $$