Sql server 我可以将同一个表的两个update语句放在一个条件中吗?
我有两个update语句块。两者都适用于具有不同“where”部分的同一表格。我希望如果一个更新运行,另一个不应该 以下是我的更新语句代码: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 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