Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

Puis-je imprimer immédiatement pour chaque itération dans une boucle ?

Pas autant que je sache.

Il a déjà été signalé sur Connect. Voir RAISERROR WITH NOWAIT not honoré dans SQLCMD11

mais n'est actuellement pas corrigé.

Je suppose que vous pourriez ajouter un SELECT dans celui-ci de la taille de votre paquet réseau (ou augmentez la taille du message existant) pour vider le tampon comme solution de contournement.

Par exemple

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;