切换数据库引发的血案!!!!!!

如何把下面SQL2000存储过程改为Mysql支持的存储过程?
  昨日已发一帖,今日因出差没时间想,各位贴个代码,急用。。。。
SQL code
create procedure  st_test2011
   @Row varchar(50),
   @Col Varchar(50),
   @OrderBy  varchar(50),  /*用于列排序*/
   @Sum Varchar(100),
   @SQL_Condition  Varchar(8000)

as
   
   declare @Productno varchar(100)
   declare @qty  decimal(18,2)
   declare @s  varchar(2000)
   declare @s_sum  varchar(200)   
   declare @i int
   declare @SQL1  varchar(5000)
   declare @SQL2  varchar(5000)
   declare @SQL3  varchar(5000)  

   set @SQL1='select '+@row+ ' as srow,'+@col+' as scol ,'+'SUM('+@sum+') AS Qty ,'+@OrderBy+' as serial '+ @SQL_Condition 

   select convert(varchar(200),123) as scol ,convert(varchar(100),123) as serial
   into #tmp 
   from tbDivision
   where 0=1
 

   set @sql3=' insert into #tmp  select distinct scol,serial  from ('+@SQL1+' ) as pp order by Serial'


   print @sql3 
   exec (@sql3)


   set @i=0
   set @s_sum=''
   DECLARE MyCursor CURSOR FOR
   select scol from #tmp
   OPEN MyCursor
   FETCH NEXT FROM MyCursor
   INTO  @Productno

   WHILE @@FETCH_STATUS = 0
     BEGIN
       set @i=@i+1
       if @i=1
        begin  
           set @s=' sum(case p.scol when '''+@productno+''' then p.Qty else 0 end) as '+'Q'+@productno
           set @s_sum='P1.Q'+@productno
        end
       else
        begin
           set @s=@s+' ,sum(case p.scol when '''+@productno+''' then p.Qty else 0 end) as '+'Q'+@productno
           set @s_sum=@s_sum+'+P1.Q'+@productno
        end 
      FETCH NEXT FROM MyCursor INTO  @Productno
     END
   CLOSE MyCursor
   DEALLOCATE MyCursor


   set @SQL2=(' SELECT P1.*, '+@s_sum+' AS YearTotal'+
              ' into #tempsum FROM (SELECT P.srow,'+@s+
              ' FROM ('+ @SQL1+') AS P'+
              ' GROUP BY P.srow) AS P1 order by p1.srow ') 

作者: gisslee   发布时间: 2011-05-10

可以外包出去了。

作者: zuoxingyu   发布时间: 2011-05-10