SQL2000的存储过程格式如下:
CREATE     procedure CL_Product_MoveDown (@index_id  bigint)as 
begin
declare @nex_displayorder varchar(8) --后一记录序号
declare @nex_typeid       varchar(8) --后一记录ID
declare @cur_displayorder varchar(8) --当前记录序号
declare @cur_superid      varchar(8) --当前记录的SUPERID--取得当前记录序号
select @cur_displayorder=p_display_order ,
       @cur_superid=p_sortsuperid
from   cl_product_sort
where p_sortid=@index_id--取得要下移的记录的下一记录序号
select @nex_displayorder=min(p_display_order)  from cl_product_sort
 where p_sortsuperid =@cur_superid 
   and p_display_order > @cur_displayorder--取得下一记录ID
select @nex_typeid=p_sortid 
from   cl_product_sort
where  p_display_order=@nex_displayorderupdate cl_product_sort
set    p_display_order=@nex_displayorder
where  p_sortid=@index_idupdate cl_product_sort
set    p_display_order=@cur_displayorder
where  p_sortid=@nex_typeidend
就是一个分类的同级下移。
帮帮尽快,MYSQL确实不会,又急用。

解决方案 »

  1.   

    学习下mysql的存储过程
    按语法和你的需求进行修改
    都是很容易实现的
      

  2.   

    CREATE    procedure CL_Product_MoveDown (in i_index_id  bigint) 
    begin 
    declare v_nex_displayorder varchar(8); -- 后一记录序号 
    declare v_nex_typeid      varchar(8); -- 后一记录ID 
    declare v_cur_displayorder varchar(8); -- 当前记录序号 
    declare v_cur_superid      varchar(8); -- 当前记录的SUPERID --取得当前记录序号 
    select  p_display_order , 
          p_sortsuperid into v_cur_displayorder,v_cur_superid
    from  cl_product_sort 
    where p_sortid=i_index_id;--取得要下移的记录的下一记录序号 
    select min(p_display_order) into v_nex_displayorder  from cl_product_sort 
    where p_sortsuperid =v_cur_superid 
      and p_display_order > v_cur_displayorder; --取得下一记录ID 
    select p_sortid  into v_nex_typeid
    from  cl_product_sort 
    where  p_display_order=v_nex_displayorder;update cl_product_sort 
    set    p_display_order=v_nex_displayorder 
    where  p_sortid=i_index_id; update cl_product_sort 
    set    p_display_order=v_cur_displayorder 
    where  p_sortid=v_nex_typeid; 
    end;