一、第一种方法,游标

定义游标 DECLARE cur_ClubHeadCash CURSOR FAST_FORWARD READ_ONLY FOR,循环每行 FETCH NEXT FROM cur_ClubHeadCash INTO @intUserID, @Clubid, @Amount

DECLARE @intUserID INT,@Amount INT, @Clubid INT,@AmountTmp INT

DECLARE cur_ClubHeadCash CURSOR FAST_FORWARD READ_ONLY FOR
SELECT userid,cid,cash FROM #temp WHERE userid not in(1000882) ORDER BY userid ASC OPEN cur_ClubHeadCash
FETCH NEXT FROM cur_ClubHeadCash INTO @intUserID, @Clubid, @Amount WHILE @@FETCH_STATUS = 0
BEGIN
PRINT @intUserID
PRINT @Clubid
PRINT @Amount SET @AmountTmp= @Amount*-1
PRINT @AmountTmp --EXEC dbo.PrPsWeb_UpdateClubCash
-- @Clubid,
-- 13001,
-- @AmountTmp,
-- '127.0.0.1',
-- '管理员减少房卡',
-- NULL,
-- 0 --EXEC dbo.PrPsWeb_UpdateUserCash
-- @intUserID,
-- 13000,
-- @Amount,
-- '127.0.0.1',
-- '管理员增加金币',
-- NULL,
-- 0 FETCH NEXT FROM cur_ClubHeadCash INTO @intUserID,@Clubid,@Amount END CLOSE cur_ClubHeadCash
DEALLOCATE cur_ClubHeadCash DROP TABLE #temp

二、第二种方法,while循环

获取需处理表的所有行以及行号,取最小行号min和最大行号max,进行循环

DECLARE @intMinId INT,@intMaxId INT,@intClubID INT,@lngUpdateAmount BIGINT

SELECT RowID=IDENTITY(INT,1,1),A.ClubID,A.NeedAmount
INTO #templist
FROM Game.UserCreateClubDesk AS A WHERE A.ServerID=@intServerID SELECT @intMinId =MIN(RowID),@intMaxId=MAX(RowID)
FROM #templist WHILE @intMinId<=@intMaxId
BEGIN
SELECT @intClubID=ClubID,@lngUpdateAmount=NeedAmount
FROM #templist WHERE RowID=@intMinId
EXEC dbo.PrPsWeb_UpdateClubCash
@intClubID,
@sintSourceType,
@lngUpdateAmount,
'127.0.0.1',
@chvMemo,
NULL,
0
SET @intMinId=@intMinId+1
END
DROP TABLE #templist

SQL中循环的实现方式的更多相关文章

  1. SQL中循环和条件语句

    .if语句使用示例: declare @a int begin print @a end else begin print 'no' end .while语句使用示例: declare @i int ...

  2. sql中循环的存储过程

    ), a2 bigint, a3 bigint) returns void as $$declare ii integer; begin II:; FOR ii IN a2..a3 LOOP INSE ...

  3. react中循环节点的方式以及图片引用的方式

    import React from 'react' import img from '../public/img/001.jpg' // 此时img是一个变量,在下面直接使用该变量即可引入该图片 cl ...

  4. sql中循环插入

    #!/bin/sh for i in {1..10}dokdsql sys/kdb<<EOF insert into test values(2) ; EOFdone

  5. SQL中的循环、for循环、游标

    我们使用SQL语句处理数据时,可能会碰到一些需要循环遍历某个表并对其进行相应的操作(添加.修改.删除),这时我们就需要用到咱们在编程中常常用的for或foreach,但是在SQL中写循环往往显得那么吃 ...

  6. PL/SQL中LOOP循环控制语句

    在PL/SQL中可以使用LOOP语句对数据进行循环处理,利用该语句可以循环执行指定的语句序列.常用的LOOP循环语句包含3种形式:基本的LOOP.WHILE...LOOP和FOR...LOOP. LO ...

  7. (转)SQL中的循环、for循环、游标

    我们使用SQL语句处理数据时,可能会碰到一些需要循环遍历某个表并对其进行相应的操作(添加.修改.删除),这时我们就需要用到咱们在编程中常常用的for或foreach,但是在SQL中写循环往往显得那么吃 ...

  8. Oracle中PL/SQL的循环语句

    在PL/SQL中可以使用LOOP语句对数据进行循环处理,利用该语句可以循环执行指定的语句序列.常用的LOOP循环语句包含3种形式:基本的LOOP.WHILE...LOOP和FOR...LOOP. LO ...

  9. Oracle PL/SQL中的循环处理(sql for循环)

    今天来说下Oracle中的循环迭代处理,因为从自己的博客统计中看到,不少网友都搜索了关键字"SQL FOR循环",所以打算在这里说下个人的理解. PL/SQL也和我们常用的编程语言 ...

随机推荐

  1. StrictMode 严格模式

    StrictMode: 帮助程序员避免在主线程上执行耗时操作: 启动级别: 1. 启动线程级别:   setThreadPolicy() 2. 启动应用级别 :  setVmPolicy() —— 对 ...

  2. Hibernate:More than one row with the given identifier was found解决办法

    今天写一个Action 通过 HQL 查询一个表 出现异常 “More than one row with the given identifier was found” 问题原因: 数据库出现数据异 ...

  3. LCA 总结

    代码: //RMQ求LCA struct node { int v, w; }; class LCA { private: vector<int>dep, pos, olx, dis; v ...

  4. java对象实例化 静态块,对象块,构造函数执行顺序

    public class TestA { public static void main(String []args) { new B(); } } class A { static { System ...

  5. 全面了解python中的类,对象,方法,属性

    全面了解python中的类,对象,方法,属性 python中一切皆为对象,所谓对象:我自己就是一个对象,我玩的电脑就是对象,坐着的椅子就是对象,家里养的小狗也是一个对象...... 我们通过描述属性( ...

  6. 如何设置Windows操作系统打印机与xlpd连接

    Xlpd是Xmanager中负责远程打印的软件,除了打印远程文件,它还具备很多功能,本集将具体讲解Xlpd的主要功能. 主要功能如下: 1.  支持LPD协议(RFC1179) 在RFC1179中定义 ...

  7. swoole 多进程共享数据

    进程作为程序执行过程中资源分配的基本单位,拥有独立的地址空间,同一进程的线程可以共享本进程的全局变量,静态变量等数据和地址空间,但进程之间资源相互独立.由于PHP语言不支持多线程,因此Swoole使用 ...

  8. 拾遗:vim 配置(个人适用,仅供参考)

    ~/.vimrc "===================通用配置====================== set encoding=utf- set statusline=%F%=[L ...

  9. Raft Paper 简译

      本文是对 Raft Paper 核心部分的意译,不包括原文中的如下章节:<3 Paxos 的优缺点论述>.<4 Raft 的易理解性介绍>.<9 Raft 算法的易理 ...

  10. JMeter的那些问题

    我们从以下几个点来看jmeter: 1.jmeter是什么? 2.jmeter为什么我们要使用jmeter?他可以帮我们解决那些事情? 3.怎样使用jmeter做这些事情? 4.我们在什么时候会使用j ...