SELECT TOP 1 with update lock

skiddooskiddoo Member Posts: 19
Hey,

i was tracing the activities on our SQL Server to track down some performance issues.

And my attention came to this
SELECT TOP 1 NULL  FROM <table> WITH(UPDLOCK)

and this
SELECT  TOP (1) * FROM <table> WITH(UPDLOCK)  ORDER BY "Entry No_" DESC

The first snippet seems to be from a ISEMPTY statement while the second snippet is a FINDLAST or FIND('+'). But what makes me wonder is is the WITH(UPDLOCK). There is no LOCKTABLE in the code for these tables. Any Ideas what code might caused these SQL statements

We are using NAV 2018 CU38.

Regards

Best Answer

  • skiddooskiddoo Member Posts: 19
    edited 2021-05-05 Answer ✓
    I testet around a bit and could reproduce it. THE MODIFY behaves like a LOCKTABLE
    ShipmentMethod.FINDFIRST;
    ShipmentMethod.MODIFY;
    IF ShipmentMethod.ISEMPTY THEN;
    
    SELECT TOP 1 NULL  FROM "<Company>$Shipment Method" "10"  
    

Answers

  • skiddooskiddoo Member Posts: 19
    edited 2021-05-05 Answer ✓
    I testet around a bit and could reproduce it. THE MODIFY behaves like a LOCKTABLE
    ShipmentMethod.FINDFIRST;
    ShipmentMethod.MODIFY;
    IF ShipmentMethod.ISEMPTY THEN;
    
    SELECT TOP 1 NULL  FROM "<Company>$Shipment Method" "10"  
    
Sign In or Register to comment.