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


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

    放在这里备忘》》》

    Java代码  收藏代码
      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
  • 相关阅读:
    mysql DCL(数据控制语句)
    sybase 脚本建表和删除表
    mysql DML(数据操纵语句)
    delphi fastmm4 调试
    delphi class of 类引用
    DELPHI SetLocaleInfo 设置本地时间
    DELPHI 去字符串中所有空格
    SUSE 11 安装MongoDB
    suse下 登录mongodb
    DELPHI 的 {$M +} 和{$M -}
  • 原文地址:https://www.cnblogs.com/soundcode/p/2540292.html
Copyright © 2020-2023  润新知