sql >> Base de Datos >  >> RDS >> Sqlserver

¿Puedo imprimir inmediatamente para cada iteración en un ciclo?

No que yo sepa.

Ya se ha informado en Connect. Consulte RAISERROR CON NOWAIT no honrado en SQLCMD11

pero actualmente no está arreglado.

Supongo que podrías agregar un SELECT allí del tamaño de su paquete de red (o aumente el tamaño del mensaje existente) para vaciar el búfer como una solución alternativa.

Por ejemplo

DECLARE @i INT = 0;

WHILE @i < 5
  BEGIN
      -- poll async operation status here
      SET @i = @i + 1;

      PRINT 'status is ' + CAST(@i AS VARCHAR(10)) + SPACE(4000);

      WAITFOR DELAY '00:00:01';
  END;