create or replace procedure DealJobMessage(now now()%type) is begintruncate TABLE jobCount;insert into jobCount select region_id ,job_cat_id as cat_id ,count(*) as mount from job where update_time >=DATE_ADD(now, INTERVAL -3 MONTH) and reliability <24 group by region_id,job_cat_id ;上面存储过程
now是由now()函数获得的,now datetime这定义参数有问题吗?还有在调用的时候应该怎么写?DECLARE
now now();
BEGIN
DealJobMessage(now); END;
这样写可以吗?
begin
truncate TABLE jobCount;
insert into jobCount
select region_id ,job_cat_id as cat_id ,count(*) as mount
from job
where update_time >=DATE_ADD(now, INTERVAL -3 MONTH) and reliability <24
group by region_id,job_cat_id ;
end;
$$
delimiter ;--执行:
set now=now();
call DealJobMessage(now);
如果我不传入参数,直接定义now varchcar
然后 select now() into now from job
这样可以吗?
==>语句结束符标志直接定义now varchcar(100)
然后 set now=now();
试试~