存储过程之游标

本文介绍了一个使用SQL游标的示例,展示了如何声明并操作游标以逐条处理查询结果,并通过动态SQL执行插入操作。此过程涉及变量赋值、条件判断等关键步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 declare cur02 cursor local static scroll for                 
    select gend_option,gend_name               
    from gend_det                
    where gend_gen = @ipq_part_3        
    and   (rtrim(gend_char1) = '' or (charindex(rtrim(@ipq_cx) + ',', rtrim(gend_char1) + ',')) > 0)           
                
    open cur02                
    fetch first from cur02 into @tmp_option,@tmp_name               
    while @@fetch_status = 0                 
    begin                
        select @ipq_line = @ipq_line + 10   
   
 select @sql='insert into #rst(r_part,r_option,r_require,r_rmks)  (select '''+rtrim(@ipq_part)+''','''+rtrim(@tmp_option)+''',a'+rtrim(@tmp_option)+'a, r+'' ''+x+str(y) from t_ipqc$ where l='''+rtrim(@ipq_part)+''')'  
   
 exec(@sql)  
    
  
 select @temp_require = r_require  from #rst where r_part=@ipq_part and r_option=@tmp_option  
   
   
 select @temp_rmks = r_rmks from   #rst where r_part=@ipq_part and r_option=@tmp_option  
   
               
        insert into ipqd_det (ipqd_nbr,ipqd_line,ipqd_method,ipqd_project,ipqd_rst1,ipqd_rmks)                
        values(@ipq_nbr,@ipq_line,@tmp_name,'',isnull(@temp_require,''),isnull(@temp_rmks,''))   
                
                
        fetch next from cur02 into @tmp_option,@tmp_name                
    end                
                
    close cur02                
    deallocate cur02    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值