如何替换基于集合的游标?

时间:2019-04-11 03:14:41

标签: sql sql-server cursor database-performance query-performance

将RABR情境替换为基于集合的情境是一种更有效的方法,其中有一个过程接收两个参数(一个代码和一个日期),并将结果插入到临时表中。 / p>

CREATE TABLE #RESULTADO(CODE INT, DATA DATETIME);
DECLARE @CODE
SELECT @CODE = MIN(CODIGO)
FROM TABELACOMDADOS
WHERE CODE <> ''
AND CODE IS NOT NULL

WHILE @CODE IS NOT NULL
BEGIN
    INSERT INTO #RESULTADO
    EXECUTE PR_PROCESSACALCULO @CODE, @DATA;
    -- NEXT VALUE FOR THE LOOP
    SELECT @CODE = MIN(CODIGO)
    FROM TABELACOMDADOS
    WHERE CODE > @CODE
    ORDER BY CODE;
END;

我试图用此while循环替换当前光标,但是总持续时间为2分钟减去

0 个答案:

没有答案