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; 
这样写可以吗?

解决方案 »

  1.   

    delimiter $$create or replace procedure DealJobMessage(now datetime)  
    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); 
      

  2.   

    delimiter $$是什么标志?
    如果我不传入参数,直接定义now varchcar 
    然后 select now() into now from job
    这样可以吗?
      

  3.   

    delimiter $$是什么标志?
    ==>语句结束符标志直接定义now varchcar(100)  
    然后 set now=now();
    试试~
      

  4.   

    http://apps.hi.baidu.com/share/detail/15140292
      

  5.   

    MySql 使用C语言写的,开源的,和SQL Server2000 都差不多吧 不难学