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 |