declare @OrderID intset @OrderID =-1SET  TRANSACTION  ISOLATION  LEVEL  SERIALIZABLE
begin tran
select  @OrderID=orderid from Orders with(xlock,paglock) where state=0             if not(@OrderIDis null or @OrderID=-1)
                    begin
                            update Orders with(rowlock) set state=1 where OrderID=@OrderID
                            select * from Orders with(xlock,paglock) where orderID=@OrderID
                    endcommit tran