Queries for READPAST Table Hint


1. Usage of READPAST table hint (to be used in transaction)

SQL Server Query 1

            
 BEGIN TRANSACTION;  
SELECT TOP 1
OrderID,
CustomerID,
OrderDate,
ShippedDate,
ShipVia
FROM Orders WITH (READPAST) -- Crucial: Skips rows locked by others
WHERE ShippedDate IS NULL
ORDER BY OrderDate ASC; -- Pick the oldest unshipped
ROLLBACK TRANSACTION

Create SQL query with SqlQueryBuilder 1

            
 var (sql1, parameters1) = new SqlQueryBuilder()  
.Select().Top(1)
.Columns("OrderID","CustomerID","OrderDate","ShippedDate","ShipVia")
.From("Orders", new List<IHint>() { new READPAST() })
.Where(new Where(new IS_NULL(new Column("ShippedDate"))))
.OrderBy(new OrderBy().SetColumnAscending("OrderDate"))
.Build();

Query build by SqlQueryBuilder 1

            
SELECT TOP 1 OrderID,
             CustomerID,
             OrderDate,
             ShippedDate,
             ShipVia
FROM Orders WITH (READPAST)
WHERE ShippedDate IS NULL
ORDER BY OrderDate ASC;


            
        

Parameters (If used)

Name Value

Query Results 1:

  OrderID CustomerID OrderDate ShippedDate ShipVia
1 11008 ERNSH 4/8/1998 12:00:00 AM 3