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

CHỌN và CẬP NHẬT bảng để không có sự chồng chéo của Chủ đề

Nếu ý của bạn là khóa loại hàng đợi an toàn đồng thời, thì hãy sử dụng gợi ý ROWLOCK, UPDLOCK, READPAST?

Điều kiện chạy hàng đợi quy trình SQL Server

BEGIN TRAN

SELECT TOP 1 @QueryID = [ID] from Table WITH (ROWLOCK, UPDLOCK, READPAST)
UPDATE Table SET [Read] = 1 WHERE [ID] = @QueryID 

COMMIT TRAN -- TRAM

Tuy nhiên, trong một tuyên bố. một cái gì đó giống như

WITH T AS
(
    --ORDER BY with TOP , or perhaps MIN is better?
    SELECT TOP 1 [Read], [ID] from Table
    WITH (ROWLOCK, UPDLOCK, READPAST) ORDER BY [Read]
)
UPDATE
    T
SET
    [Read] = 1;


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Trả về danh sách cấu hình thư cơ sở dữ liệu trong SQL Server (T-SQL)

  2. khóa ngoại trên bảng từ cơ sở dữ liệu khác nhau

  3. Có thể nắm bắt đầy đủ các truy vấn được tham số hóa bằng cách sử dụng DBCC INPUTBUFFER không?

  4. Làm cách nào để chỉ theo dõi các lệnh t-sql trong SQL Profiler?

  5. Làm thế nào tôi có thể truy xuất tất cả nhân viên có tuổi sẽ là 21 trong thời gian một tháng?