I have a stored procedure to get the data I want:
SELECT a.SONum, a.Seq1, a.SptNum, a.Qty1, a.SalUniPriP, a.PayNum, a.InvNum,
a.BLNum, c.ETD, c.ShpNum, f.IssBan
FROM OrdD a JOIN OrdH b ON a.SONum = b.SONum
LEFT JOIN Invh c ON a.InvNum = c.InvNum
LEFT JOIN cus d ON b.CusCod = d.CusCod
LEFT JOIN BL e ON a.BLNum = e.BLNum
LEFT JOIN PayMasH f ON f.PayNum = a.PayNum
LEFT JOIN Shipment g ON g.ShpNum = c.ShpNum
WHERE b.CusCod IN (SELECT CusCod FROM UsrInc WHERE UseID=@UserID and UseLev=@UserLvl)
AND d.CusGrp = @CusGrp
After I get those records into cursor, I used ROWLOCK, UPDLOCK to lock all the related invoice numbers.
SELECT InvNum FROM Invh WITH (ROWLOCK,UPDLOCK) WHERE InvNum =
Can I issue locking on the table INVH at the point I select the table from a few table using join command at my store procedure?
Any advice, please!
Yes, you can, provided you format your SQL correctly. The general pattern you require is as follows:
Where
{}is optional (omit the{}). So lock as you put the "WITH (UPDLOCK, ROWLOCK)" clause on each table you wish to lock, it will work.So you can put the lock where you want it, as per your question.