Sql游标的使用

Create Proc sp_Cursor
(
 nvarchar(50) @GPGENNo
)
as
Declare @ErrorCode nvarchar(MAX)
begin

---- 例子
  select * into #TempGPGENDetail from GPGENDetail where GPGenNo=@GPGENNo
 declare @cur cursor
 declare @GENNo nvarchar(50)
 declare @GoldWtGM numeric(18,2)
 declare @GENGoldWtGM numeric(18,2)
       
  set @cur=cursor for select GENNo,GoldWtGM from #TempGPGENDetail
  open @cur
  fetch next from @cur into @GENNo,@GoldWtGM
  while @@fetch_status=0
  begin
     
   select @GENGoldWtGM=SUM(GoldWtGM) from GPGENProduct where GENNo=@GENNo
   
   if @GoldWtGM>=@GENGoldWtGM
   begin
     Set @ErrorCode=N‘分货编码为:‘+@GENNo+‘的金重必须大于分货金重‘
     goto Err
   end
   
   fetch next from @cur into @GENNo,@GoldWtGM
  end
  close @cur
  deallocate @cur
  if @@error<>0 goto err
       
  Drop Table #TempGPGENDetail


end

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。