博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Sql Server 游标例子笔记
阅读量:4582 次
发布时间:2019-06-09

本文共 2845 字,大约阅读时间需要 9 分钟。

create PROCEDURE total_mySaleDutyasBEGIN	 DECLARE @a int,@error int       DECLARE @b int,@errorb int    	 DECLARE @c_dutyId int;	 DECLARE @c_dutyName VARCHAR(100);	 DECLARE @c_proxyCount int;	 DECLARE @c_saleCount int;	 DECLARE @c_buyCount int;	 DECLARE @c_count int;	 DECLARE @c_userId int;	 set @b=1;   set @errorb=0;	 set @a=1;   set @error=0;   DECLARE findManager_cur CURSOR for 			SELECT userId FROM QPNewLobbyDB.dbo.qzmajiang_duty WHERE dutyLevel = 1						OPEN findManager_cur FETCH next from findManager_cur into @c_userId;					while @@FETCH_STATUS = 0 							begin     									DECLARE findSaleDuty_cur CURSOR for 										 SELECT												d.dutyId,												MAX (d.dutyName) AS dutyName,												COUNT (DISTINCT u.userId) AS proxyCount,												SUM (CASE WHEN l.typeId = 1 THEN l.roomCardCount ELSE 0 END) saleCount,												SUM (CASE WHEN l.typeId = 2 THEN c.currentPrice ELSE 0 END) buyCount										 FROM QPNewLobbyDB.dbo.qzmajiang_duty d										 LEFT JOIN QPNewLobbyDB.dbo.qzmajiang_proxy_user u ON d.dutyId = u.dutyId										 LEFT JOIN QPNewLobbyDB.dbo.qzmajiang_proxy_log l ON u.userId = l.fromUserId										 AND DATEDIFF(MONTH,l.createTime,GETDATE()) = 0										 LEFT JOIN QPNewLobbyDB.dbo.qzmajiang_roomcard_config c ON l.configId = c.configId										 WHERE parentDutyId = (SELECT dutyId FROM QPNewLobbyDB.dbo.qzmajiang_duty WHERE userId =@c_userId AND dutyLevel = 1)										 GROUP BY d.dutyId 										 OPEN findSaleDuty_cur FETCH next from findSaleDuty_cur into @c_dutyId,@c_dutyName,@c_proxyCount,@c_saleCount,@c_buyCount;											 while @@FETCH_STATUS = 0 													begin       														select @c_count = count(1) from QPNewLobbyDB.dbo.qzmajiang_history_total where dutyId = @c_dutyId and DATEDIFF(MONTH, createTime, GETDATE())= 0  ;																												if(@c_count=0)  															begin 																insert into QPNewLobbyDB.dbo.qzmajiang_history_total values(@c_dutyId,@c_dutyName,@c_proxyCount,@c_saleCount,@c_buyCount,GETDATE())															end														else  															begin  																	update QPNewLobbyDB.dbo.qzmajiang_history_total set proxyCount=@c_proxyCount,saleCount=@c_saleCount,buyCount=@c_buyCount,createTime=GETDATE()																	where dutyId=@c_dutyId and DATEDIFF(MONTH, createTime, GETDATE())= 0															end  																												set @a=@a+1														set @error= @error + @@ERROR 														fetch next from findSaleDuty_cur into @c_dutyId,@c_dutyName,@c_proxyCount,@c_saleCount,@c_buyCount													end											close findSaleDuty_cur  										deallocate findSaleDuty_cur									set @b=@b+1									set @errorb= @errorb + @@ERROR 									fetch next from findManager_cur into  @c_userId							end			close findManager_cur  	deallocate findManager_curEND

 

转载于:https://www.cnblogs.com/wangfajun/p/6805866.html

你可能感兴趣的文章
mysql导出数据库和恢复数据库代码
查看>>
走出软件泥潭 第一回 雪上加霜
查看>>
小鸟哥哥博客 For SAE
查看>>
gui编程实践(3)--记事本界面 JMenuBar JMenu
查看>>
App测试方法总结
查看>>
51nod-1228: 序列求和
查看>>
BZOJ1303: [CQOI2009]中位数图
查看>>
2015上海马拉松线上跑感悟-人生如同一场马拉松
查看>>
北航软院2013级C#期末考试部分考题解答
查看>>
CentOS 系统中安装 ArcGIS Server10.1 一些问题及解决
查看>>
Sharepoint学习笔记—习题系列--70-573习题解析 -(Q142-Q143)
查看>>
asp.net里登陆记住密码
查看>>
【BZOJ】2190 [SDOI2008]仪仗队(欧拉函数)
查看>>
线性规划中的单纯形法与内点法(原理、步骤以及matlab实现)(一)
查看>>
简单DP【p2758】编辑距离
查看>>
Spring Data JPA:关联映射操作
查看>>
JWT入门简介
查看>>
GDAL 网址
查看>>
结对编程——吐槽必应词典
查看>>
katalon系列八:Katalon Studio图片识别
查看>>