Sql server 我可以将同一个表的两个update语句放在一个条件中吗?

Sql server 我可以将同一个表的两个update语句放在一个条件中吗?,sql-server,sql-update,Sql Server,Sql Update,我有两个update语句块。两者都适用于具有不同“where”部分的同一表格。我希望如果一个更新运行,另一个不应该 以下是我的更新语句代码: Update transactionalData.TBL_WORK_ORDER_BOOKING_DETAILS set Status='COMPLETED',EndDate= @date,Hours= convert (float,datediff(ss,StartDate, @date ))/3600 where SignumID=@si

我有两个update语句块。两者都适用于具有不同“where”部分的同一表格。我希望如果一个更新运行,另一个不应该

以下是我的更新语句代码:

Update transactionalData.TBL_WORK_ORDER_BOOKING_DETAILS  
 set Status='COMPLETED',EndDate= @date,Hours= convert (float,datediff(ss,StartDate,  @date ))/3600  
  where SignumID=@signumID and BookingID=@BookingID and status='started'  

Update transactionalData.TBL_WORK_ORDER_BOOKING_DETAILS
    set Status='Inprogress' where SignumID=@signumID and Status='onhold'  and BookingID=@BookingID
END 

您可以使用行计数来确定语句是否影响了任何行。像这样的

Update transactionalData.TBL_WORK_ORDER_BOOKING_DETAILS  
 set Status='COMPLETED',EndDate= @date,Hours= convert (float,datediff(ss,StartDate,  @date ))/3600  
  where SignumID=@signumID and BookingID=@BookingID and status='started'  

If @@RowCount = 0
    Begin
        Update transactionalData.TBL_WORK_ORDER_BOOKING_DETAILS
        set Status='Inprogress' where SignumID=@signumID and Status='onhold'  and BookingID=@BookingID
    End