0%

Mysql 存储过程及while循环

创建存储过程,我用的是Navicat,用PHPMyadmin老是报莫名其妙的错误,郁闷。 创建方法:打开目标数据库,在”函数”上点右键,New Function,类型选“进程”,设置参数,我这两个IN模式,bigint类型的参数,一个startUnix,一个endUnix.传入两个unix时间戳. 这个范例的目标是,根据传入的两个时间之间的时间段,输出这个时间段内的日期,传入时间都是某天的零点。 创建一个临时表,把计算出来的日期添加进这个表中。 定义代码:

BEGIN
declare tempdate date;
declare startdate date;
declare enddate date;
set enddate=DATE_FORMAT(FROM_UNIXTIME(endUnix),'%Y-%m-%d');
set startdate=DATE_FORMAT(FROM_UNIXTIME(startUnix),'%Y-%m-%d');
set tempdate=date_add(startdate,interval 1 day);
create temporary table temp select startdate as Date;
while tempdate

不需要写create PROCEDURE,因为navicat会帮我们干。 保存后会提示输入存储过程的名字,我这填createDateTable. 运行:call createDateTable(1335628800,1339257600) 运行结果,显示2012-04-29到2012-06-09.