sqlsrever 游标循环

USE [XXRecordDB]
GO
/****** Object:  StoredProcedure [dbo].[HoistyHomeDataProc]    Script Date: 2019/6/19 星期三 下午 2:20:38 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
 
ALTER proc [dbo].[HoistyHomeDataProc]

 as
 begin
 declare   @PaltformID int,
  @CreateTimes  Datetime,
  @CoutScore  bigint,
  @AgentScore bigint ,
  @VipScore   bigint,
  @InsertType int ,  
  @DBName varchar(255)
     SET    @CreateTimes=getdate()-1;
    DECLARE mycur CURSOR
    FOR  SELECT PlatformID FROM XXPlatformDB.dbo.StationInfo
    OPEN mycur
    FETCH NEXT FROM mycur INTO @PaltformID
    WHILE @@FETCH_STATUS = 0
    BEGIN
        --判断数据存在
        --IF EXISTS(SELECT * FROM sys.databases WHERE name = @DBName)
        BEGIN

    SELECT @CoutScore=ISNULL(SUM(Score+InsureScore),0) FROM [XXAccountsDB].dbo.AccountsInfo as a
left join XXTreasureDB.dbo.GameScoreInfo as b on a.UserID = b.UserID
WHERE IsAndroid = 0 and channelID=222
           ---vip 总分
SELECT  @VipScore=ISNULL(SUM(Score+InsureScore),0) FROM [XXAccountsDB].dbo.AccountsInfo as a
left join XXTreasureDB.dbo.GameScoreInfo as b on a.UserID = b.UserID
WHERE  AgentLevel=3 and IsAndroid = 0 and channelID=222
           SELECT  @AgentScore=ISNULL(SUM(Score+InsureScore),0) FROM [XXAccountsDB].dbo.AccountsInfo as a
left join XXTreasureDB.dbo.GameScoreInfo as b on a.UserID = b.UserID
WHERE  AgentLevel in(0,1,2) and IsAndroid = 0 and channelID=222

insert into  [XXRecordDB].dbo.HoistyHomeData (PaltformID,CreateTimes,CoutScore,AgentScore,VipScore,InsertType) values(@PaltformID,@CreateTimes,@CoutScore,@AgentScore,@VipScore,2)
            --判断表存在
        --    IF OBJECT_ID(@TableName, N'U') IS NOT NULL
            
        END
        FETCH NEXT FROM mycur INTO @PaltformID
    END
    CLOSE mycur
    DEALLOCATE mycur

    end




    

posted @ 2019-06-19 17:30  淩牧  阅读(202)  评论(0编辑  收藏  举报