Sqlserver
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Sqlserver

Tôi có thể in ngay lập tức cho mỗi lần lặp trong một vòng lặp không?

Theo như tôi biết thì không.

Nó đã được báo cáo trên Connect. Xem RAISERROR VỚI NOWAIT không được vinh danh trong SQLCMD11

nhưng hiện chưa được sửa.

Tôi cho rằng bạn có thể thêm một SELECT bằng kích thước gói mạng của bạn (hoặc tăng kích thước tin nhắn hiện có) để xóa bộ đệm như một giải pháp.

Ví dụ

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; 


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Chèn các hàng vào bảng chỉ với một cột IDENTITY

  2. nối chuỗi t-sql

  3. Cập nhật hàng trong bảng dựa trên truy vấn phụ trên cùng một bảng

  4. Tạo khóa chính tổng hợp trong SQL Server

  5. Mức giao dịch SQL Server 2005 và các thủ tục được lưu trữ