SQL 游标的简单使用

--声明游标中使用的变量
DECLARE @id VARCHAR(4) ,
    @zglb INT; 
--声明游标并赋值
DECLARE user_role CURSOR
FOR
    SELECT  id ,
            zglb
    FROM    THIS4..YY_ZGBMK
    WHERE   zglb = 0 ;
    
--打开游标
OPEN user_role; 
--把游标里的值放到变量里
FETCH NEXT FROM user_role INTO @id, @zglb;
--确定是否返回值
WHILE @@FETCH_STATUS = 0
    BEGIN 
        IF NOT EXISTS ( SELECT  1
                        FROM    SM_USER_ROLE
                        WHERE   USER_ID = @id )
            BEGIN 
                INSERT  INTO dbo.SM_USER_ROLE
                        ( ROLE_ID, USER_ID )
                VALUES  ( 1, @id );
            --      IF @id = 'YYYY'
             --        UPDATE  THIS4..YY_ZGBMK
            --        SET     id = '00'
            --        WHERE CURRENT OF user_role;   
                
                END;    
          
  --查询下一个游标内的值并赋值到变量
        FETCH NEXT FROM user_role INTO @id, @zglb; 
           
    END;
--关闭游标
CLOSE user_role;
--释放游标
DEALLOCATE user_role; 
--SELECT * FROM SM_USER_ROLE
--DELETE FROM SM_USER_ROLE

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值