The MS SQL script below can be used to update records in a table row-by-row by using a cursor.
/** * The script below demonstrates how to perform row-by-row updates in SQL instead of bulk updates. * This is particularly useful in scenarios where certain triggers only fire for single row updates * and do not process bulk updates. By updating records one by one, you can ensure triggers behave * as intended, allowing for correct API synchronization or similar workflows. */ DECLARE @CurrentRecordId AS uniqueidentifier; DECLARE @UpdatedRowCount INT; SET @UpdatedRowCount = 0; -- Define a SELECT query to retrieve the IDs of the records to be updated DECLARE record_cursor CURSOR FOR SELECT [RecordID] FROM exampletables.ExampleTable OPEN record_cursor; FETCH NEXT FROM record_cursor INTO @CurrentRecordId; WHILE @@FETCH_STATUS = 0 BEGIN UPDATE exampletables.ExampleTable SET [ChangedDate] = GETDATE() WHERE [RecordID] = @CurrentRecordId; SET @UpdatedRowCount = @UpdatedRowCount + 1; FETCH NEXT FROM record_cursor INTO @CurrentRecordId; END; CLOSE record_cursor; DEALLOCATE record_cursor; PRINT 'Total number of records updated:'; PRINT @UpdatedRowCount;