SQL SERVER 2019的A_CENTER数据库里有个表QY_FRID_K10
请问如何开20个线程 执行以下这个SQL脚本?
DECLARE @times INT = 0;
DECLARE @GroupID INT = 1;
DECLARE @Result TABLE(GroupId INT,WID INT, KID VARCHAR(5))
Start:
DROP TABLE IF EXISTS #Result;
DECLARE @Top10To15 INT=RAND()*3+12
SELECT TOP(@Top10To15) WID,QY_RID,WValue,WNO,QY_FAID,TWO_ALL,SIX_ALL,XieLian,YanXu,BzwBALL,BuQue,DanQI,F_NOO
INTO #Result
FROM [A_CENTER]..[QY_FRID_K10] WHERE WValue BETWEEN 2 AND 8 ORDER BY NEWID()
INSERT #Result ( WID,QY_RID,WValue,WNO,QY_FAID,TWO_ALL,SIX_ALL,XieLian,YanXu,BzwBALL,BuQue,DanQI,F_NOO)
SELECT TOP (20 - @Top10To15) WID,QY_RID,WValue,WNO,QY_FAID,TWO_ALL,SIX_ALL,XieLian,YanXu,BzwBALL,BuQue,DanQI,F_NOO FROM [A_CENTER]..[QY_FRID_K10] WHERE WValue NOT BETWEEN 2 AND 8 ORDER BY NEWID();
IF EXISTS ( SELECT 1
FROM #Result
HAVING SUM(CASE WHEN QY_RID = 'A1' THEN 1 ELSE 0 END) BETWEEN 10 AND 10
AND SUM(CASE WHEN QY_RID = 'B1' THEN 1 ELSE 0 END) BETWEEN 5 AND 5
AND SUM(CASE WHEN QY_RID = 'C1' THEN 1 ELSE 0 END) BETWEEN 5 AND 5
AND SUM(CASE WHEN QY_FAID = 'F1' THEN 1 ELSE 0 END) BETWEEN 8 AND 8
AND SUM(CASE WHEN QY_FAID = 'S1' THEN 1 ELSE 0 END) BETWEEN 5 AND 5
AND SUM(CASE WHEN QY_FAID = 'T1' THEN 1 ELSE 0 END) BETWEEN 2 AND 2
AND SUM(CASE WHEN QY_FAID = 'L1' THEN 1 ELSE 0 END) BETWEEN 5 AND 5
)
BEGIN
INSERT @Result (GroupId, WID, KID)
SELECT @GroupID, WID, 'N' + CAST(ROW_NUMBER() OVER (ORDER BY WID) AS VARCHAR(5)) AS KID FROM #Result;
SET @GroupID=@GroupID+1;
IF @GroupID>5
BEGIN
INSERT INTO [WIN28b]..[Result_WIN28b] -- SELECT * FROM [WIN28b]..[Result_WIN28b];
SELECT * FROM @Result PIVOT (MIN(WID) FOR KID IN (N1,N2,N3,N4,N5,N6,N7,N8,N9,N10,N11,N12,N13,N14,N15,N16,N17,N18,N19,N20)) p
RETURN
END
ELSE
GOTO Start;
END;
ELSE
GOTO Start;