首页 > 数据库技术 > 详细

sql server 游标和with as使用

时间:2019-08-14 00:39:57      阅读:205      评论:0      收藏:0      [点我收藏+]
DECLARE @userid INT , @gameid NVARCHAR(50)   --声明变量,需要读取的数据
DECLARE cur CURSOR                 --去掉STATIC关键字即可
FOR
    WITH
     Emp AS
        (SELECT acc.*
        FROM GXSpreadDB.dbo.gxs_account acc
        LEFT JOIN RYAccountsDB.dbo.AccountsInfo Account
            ON acc.userid=Account.userid 
        WHERE parentuserid=7213 
               AND Account.AgentID=0
        UNION ALL
        SELECT d.* FROM Emp ,GXSpreadDB.dbo.gxs_account d 
        WHERE d.parentuserid =Emp.userid )

     select userid,gameid from Emp
OPEN cur                                --打开游标
FETCH NEXT FROM cur INTO @userid, @gameid     --取数据
WHILE ( @@fetch_status = 0 )            --判断是否还有数据
    BEGIN
        SELECT 数据:  + RTRIM(@userid)+; + @gameid
        --UPDATE #T SET name=‘测试‘ WHERE id=4  --测试静态动态用
        FETCH NEXT FROM cur INTO @userid, @gameid   --这里一定要写取下一条数据
    END
CLOSE cur                                --关闭游标
DEALLOCATE cur

 

 查询结果:

 

技术分享图片

 

sql server 游标和with as使用

原文:https://www.cnblogs.com/codeDevotee/p/11349427.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!