Запуск для l oop параллельно на SQL сервере - PullRequest
0 голосов
/ 05 марта 2020

У меня есть SQL серверная процедура, которая будет принимать один идентификатор и обрабатывать и делать несколько вставок, и это происходит последовательно. Как я могу сделать это параллельно?

WHILE (@InnerCount <= (SELECT Count(Id) FROM #MB))
        BEGIN
            SELECT @StartDate=StartDate,@EndDate=EndDate,@WeekMonthName=MonthName 
            FROM #MB Where Id=@InnerCount

            DELETE FROM facttemp 
            Where ScoreCardId=@ScoreCardId AND StartDate=@StartDate AND EndDate=@EndDate

            TRUNCATE TABLE #temp

            INSERT INTO #temp (EmployeeId,EmployeeInstanceId,UserId,ScoreCardId,ScorecardTarget,OverAllScore,Rank,MetricId,MetricName,MetricScore,MetricTarget,MetricWeightPercent,MetricBandNumber,IsQualityMetric)
            EXEC [dbo].[usp_ScoreCardPreSummaryWeeklyMonthlyData] @ScoreCardId,@StartDate,@EndDate,@AccountId,@AccountInstanceId

            INSERT INTO facttemp (
                EmployeeId,EmployeeInstanceId,UserId,ScoreCardId,ScorecardTarget,OverAllScore,Rank,
                MetricId,MetricName,MetricScore,MetricTarget,MetricWeightPercent,MetricBandNumber,IsQualityMetric,
                StartDate,EndDate,Month,Year,AccountId,AccountInstanceId)
            SELECT EmployeeId,EmployeeInstanceId,UserId,
                   ScoreCardId,ScorecardTarget,OverAllScore,Rank,
                   MetricId,MetricName,MetricScore,MetricTarget,MetricWeightPercent,MetricBandNumber,IsQualityMetric,
                   @StartDate,@EndDate,@WeekMonthName, YEAR(@StartDate),@AccountId,@AccountInstanceId
            FROM #temp  


            SET @InnerCount=@InnerCount+1
        END --End of Monthly Lop
END
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...