且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

MS SQL Server2005存储过程、游标、游标嵌套综合例子

更新时间:2022-09-23 20:01:53

MS SQL Server2005存储过程、游标、游标嵌套综合例子: 

放在这里备忘》》》 

Java代码  MS SQL Server2005存储过程、游标、游标嵌套综合例子
  1. create proc decisionPathRefSchemes  
  2. as  
  3. begin  
  4.     DECLARE @pathId varchar(64)  
  5.     DECLARE @schemeId varchar(64)  
  6.     DECLARE @flag integer  
  7.     DECLARE @seq integer  
  8.     DECLARE mycursor cursor    
  9.         for select id from imps_pd_decision_path where surfaceType = '沥青路面' and roadGrade = '高速、一级、二级'  
  10.     DECLARE mycursor2 cursor    
  11.         for select id from imps_pd_decision_scheme   
  12.           
  13.     set @seq = 10000  
  14.       
  15.     open mycursor   
  16.     fetch next from mycursor into @pathId  
  17.     while @@fetch_status=0  
  18.     begin   
  19.         set @flag = 0  
  20.         select @flag=1 from imps_pd_path_ref_scheme where pathId=@pathId  
  21.         print @pathId  
  22.         print @flag  
  23.         if @flag = 0   
  24.         begin  
  25.             /*使用游标嵌套*/  
  26.             open mycursor2  
  27.             fetch next from mycursor2 into @schemeId  
  28.             while @@fetch_status=0  
  29.             begin  
  30.                 insert into imps_pd_path_ref_scheme (id,pathId,schemeId) values (convert(varchar(64), @seq),@pathId,@schemeId)  
  31.                 set @seq = @seq + 1   
  32.                 fetch next from mycursor2 into @schemeId  
  33.             end  
  34.             close mycursor2  
  35.               
  36.             /* 
  37.             不用游标时: 
  38.             insert into imps_pd_path_ref_scheme (id,pathId,schemeId) values (convert(varchar(64), @seq),@pathId,'8a819be52ad6a9c0012ad6cd457b0001') 
  39.             set @seq = @seq + 1 
  40.             insert into imps_pd_path_ref_scheme (id,pathId,schemeId) values (convert(varchar(64), @seq),@pathId,'8a819be52ad6a9c0012ad6ce234a0003') 
  41.             set @seq = @seq + 1 
  42.             insert into imps_pd_path_ref_scheme (id,pathId,schemeId) values (convert(varchar(64), @seq),@pathId,'8a819be52ad6a9c0012ad6cf087c0005') 
  43.             set @seq = @seq + 1 
  44.             insert into imps_pd_path_ref_scheme (id,pathId,schemeId) values (convert(varchar(64), @seq),@pathId,'8a819be52ad6a9c0012ad6cf4b230006') 
  45.             set @seq = @seq + 1 
  46.             insert into imps_pd_path_ref_scheme (id,pathId,schemeId) values (convert(varchar(64), @seq),@pathId,'8a819be52ad6a9c0012ad6cf95aa0007') 
  47.             set @seq = @seq + 1 
  48.             insert into imps_pd_path_ref_scheme (id,pathId,schemeId) values (convert(varchar(64), @seq),@pathId,'8a819be52ad6a9c0012ad6cfd5920008') 
  49.             set @seq = @seq + 1 
  50.             insert into imps_pd_path_ref_scheme (id,pathId,schemeId) values (convert(varchar(64), @seq),@pathId,'8a819be52ad6a9c0012ad6d023160009') 
  51.             set @seq = @seq + 1 
  52.             insert into imps_pd_path_ref_scheme (id,pathId,schemeId) values (convert(varchar(64), @seq),@pathId,'8a819be52ad6a9c0012ad6d06b4b000a') 
  53.             set @seq = @seq + 1 
  54.             insert into imps_pd_path_ref_scheme (id,pathId,schemeId) values (convert(varchar(64), @seq),@pathId,'8a819be52ad6a9c0012ad6d2c87a000b') 
  55.             set @seq = @seq + 1 
  56.             insert into imps_pd_path_ref_scheme (id,pathId,schemeId) values (convert(varchar(64), @seq),@pathId,'8a819be52ad6a9c0012ad6d2f900000c') 
  57.             set @seq = @seq + 1 
  58.             insert into imps_pd_path_ref_scheme (id,pathId,schemeId) values (convert(varchar(64), @seq),@pathId,'8a819be52ad6a9c0012ad6d32cf1000d') 
  59.             set @seq = @seq + 1 
  60.             insert into imps_pd_path_ref_scheme (id,pathId,schemeId) values (convert(varchar(64), @seq),@pathId,'8a819be52ad6a9c0012ad6d36bef000e') 
  61.             set @seq = @seq + 1 
  62.             insert into imps_pd_path_ref_scheme (id,pathId,schemeId) values (convert(varchar(64), @seq),@pathId,'8a819be52ad6a9c0012ad6d3ce44000f') 
  63.             set @seq = @seq + 1 
  64.             insert into imps_pd_path_ref_scheme (id,pathId,schemeId) values (convert(varchar(64), @seq),@pathId,'8a819be52ad6a9c0012ad6d419b50010') 
  65.             set @seq = @seq + 1 
  66.             insert into imps_pd_path_ref_scheme (id,pathId,schemeId) values (convert(varchar(64), @seq),@pathId,'8a819be52ad6a9c0012ad6d541bc0013') 
  67.             set @seq = @seq + 1 
  68.             insert into imps_pd_path_ref_scheme (id,pathId,schemeId) values (convert(varchar(64), @seq),@pathId,'8a819be52afa3280012afae7baaa0001') 
  69.             set @seq = @seq + 1 
  70.             */  
  71.         end  
  72.         fetch next from mycursor into @pathId  
  73.     end  
  74.     /* 嵌套的游标先销毁*/  
  75.     deallocate mycursor2  
  76.     close mycursor  
  77.     /* 外层游标后销毁*/  
  78.     deallocate mycursor  
  79. end  
  80.   
  81. /* 执行存储过程*/  
  82. --exec decisionPathRefSchemes  
  83.   
  84. /* 删除存储过程*/  
  85. --drop proc decisionPathRefSchemes 
分类: SQL
本文转自左正博客园博客,原文链接:http://www.cnblogs.com/soundcode/archive/2012/06/07/2540292.html,如需转载请自行联系原作者