Maybe this'll help you on your way:-- Setup test dataDECLARE @Databases TABLE( ServerID INT, DatabaseID INT, InactiveFlag BIT, OfflineDate DATETIME)INSERT @DatabasesSELECT 1, 1, 1, CURRENT_TIMESTAMPUNION ALL SELECT 1, 2, 0, NULLUNION ALL SELECT 1, 3, 1, CURRENT_TIMESTAMPUNION ALL SELECT 2, 2, 1, NULL -- Get the MAX ID so there is no duplication:DECLARE @Max INTSET @Max = (SELECT MAX(DatabaseID) FROM @Databases)-- Run Update:UPDATE TSET ServerID = 9999, DataBaseID = @Max + RowNumFROM( SELECT *, ROW_NUMBER() OVER (ORDER BY ServerID) AS RowNum FROM @Databases WHERE OfflineDate IS NOT NULL AND InactiveFlag = 1) AS TSELECT *FROM @Databases