In SQL transactions, it is sometimes necessary to lock a row, and then release the line when things are done.
Use with (Rowlock,updlock) to lock the current row. Prohibit read, modify, and delete
A transaction
ALTER PROCEDURE [dbo]. [Asuo]
As
BEGIN
BEGIN Tran
SELECT TOP 1 * FROM dbo. Jyq_hlt_order with (rowlock,updlock) WHERE orderid=321878
UPDATE dbo. Jyq_hlt_order SET orderbillingstatus=13 WHERE orderid=321878
SELECT TOP 1 * FROM dbo. Jyq_hlt_order WHERE orderid=321878
WAITFOR DELAY ' 00:00:10 '
COMMIT TRAN
END
b Business
ALTER PROCEDURE [dbo]. [Bsuo]
As
BEGIN
BEGIN Tran
UPDATE dbo. Jyq_hlt_order SET orderbillingstatus=14 WHERE orderid=321878
SELECT TOP 1 * FROM dbo. Jyq_hlt_order WHERE orderid=321878
COMMIT TRAN
END
The B transaction waits for a transaction to COMMIT TRAN before it executes.
With (Rowlock) any function
With (Rowlock,updlock) must be combined to take effect
SQL Server locks a row of data, prevents read, modify, and delete