Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

Posso stampare immediatamente per ogni iterazione in un ciclo?

Non per quanto ne so.

È già stato segnalato su Connect. Vedere RAISERROR WITH NOWAIT not premiato in SQLCMD11

ma al momento non è corretto.

Suppongo che potresti aggiungere un SELECT all'interno della dimensione del pacchetto di rete (o aumentare la dimensione del messaggio esistente) per svuotare il buffer come soluzione alternativa.

Ad esempio

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;