sql server嵌套游标

SET ANSI_NULLS OFF

GO

SET QUOTED_IDENTIFIER ON

GO

--------把模組編號和內膜資料編號插入到一個表中

alter PROCEDURE [dbo].[mold_cmbo_inst]

--declare

@mold_id varchar(20)

--select @mold_id='test000000'

 AS

BEGIN

declare @Mold_cmbo_id varchar(50),@Mold_inst_id varchar(50)

DECLARE mold_cursor  CURSOR FOR

       select Mold_cmbo_id from MOLD_CMBO (nolock) where Mold_id=@mold_id

open mold_cursor     

   FETCH NEXT FROM mold_cursor INTO  @Mold_cmbo_id

   WHILE @@FETCH_STATUS=0

       begin

             DECLARE inst_cursor  CURSOR FOR

                        select Mold_inst_id from MOLD_INST (nolock) where Mold_id=@mold_id

                open inst_cursor                       

                FETCH NEXT FROM inst_cursor INTO  @Mold_inst_id

                WHILE @@FETCH_STATUS=0

                begin                           

                      if not exists(select 1 from mold_cins (nolock) where Mold_cmbo_id=@mold_cmbo_id and Mold_inst_id=@Mold_inst_id)

                      begin

                           insert into mold_cins(Mold_cmbo_id,Mold_inst_id)values(@mold_cmbo_id,@Mold_inst_id)

                      end

                       FETCH NEXT FROM inst_cursor INTO  @Mold_inst_id

                     end

               

                 CLOSE inst_cursor

                 DEALLOCATE inst_cursor

              FETCH NEXT FROM mold_cursor INTO  @Mold_cmbo_id

       END

  

CLOSE mold_cursor

DEALLOCATE mold_cursor

end

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值