Código SQL:
Ver original
DECLARE @MATCHCODE VARCHAR(50) -- Declaración del cursor DECLARE cMATCHCODE CURSOR FOR SELECT DISTINCT SUBSTRING(MATCHCODE,1,13) FROM PROCESO_TAB WHERE SUBSTRING(MATCHCODE,1,13) IN (SELECT SUBSTRING(MATCHCODE,1,13) FROM PROCESO_TAB AS DUPLICADO_13 GROUP BY SUBSTRING(MATCHCODE,1,13) HAVING COUNT(1) > 1 ) ORDER BY SUBSTRING(MATCHCODE,1,13) FOR UPDATE -- Apertura del cursor OPEN cMATCHCODE -- Lectura de la primera fila del cursor FETCH cMATCHCODE INTO @MATCHCODE WHILE (@@FETCH_STATUS = 0 ) BEGIN UPDATE PROCESO_TAB SET M13 = 'S' WHERE SUBSTRING(MATCHCODE,1,13) = @MATCHCODE -- Lectura de la siguiente fila del cursor FETCH cMATCHCODE INTO @MATCHCODE END BEGIN UPDATE PROCESO_TAB SET M13 = 'N' WHERE SUBSTRING(MATCHCODE,1,13) <> @MATCHCODE -- Lectura de la siguiente fila del cursor FETCH cMATCHCODE INTO @MATCHCODE END -- Cierre del cursor CLOSE cMATCHCODE -- Liberar los recursos DEALLOCATE cMATCHCODE