帮忙看看哪里不对。对mysql不熟悉。create procedure createOrderCode(
out rc varchar(45)
)
beginset @ct:=EXTRACT(YEAR_MONTH FROM now());
select @oc:=max(order_code) from tb_order;
select rc=if(@oc is null,CONCAT(@ct,'0001'),@oc+1);end

解决方案 »

  1.   

    语法没问题
    delimiter$$
    create procedure createOrderCode( out rc varchar(45) ) 
    begin  
    set @ct:=EXTRACT(YEAR_MONTH FROM now()); 
    select @oc:=max(order_code) from tb_order; 
    select rc=if(@oc is null,CONCAT(@ct,'0001'),@oc+1);  
    end$$
      

  2.   

    是在MYSQL命令行下?
    delimiter //
    create procedure createOrderCode(
    out rc varchar(45)
    )
    begin
     
    set @ct:=EXTRACT(YEAR_MONTH FROM now());
    select @oc:=max(order_code) from tb_order;
    select rc=if(@oc is null,CONCAT(@ct,'0001'),@oc+1);
     
    end //
    delimiter ;