A SQL Server cursor is a set of T-SQL logic to loop over a predetermined number of rows one at a time. The purpose for the cursor may be to update one row at a time or perform an administrative process such as SQL Server database backups in a sequential manner.
Here is what the above code is Doing:
1. Declare a cursor that will be used to loop through the rows of the table.
2. Open the cursor.
3. Fetch the first row from the cursor into the @row variable.
4. While the fetch succeeds, print the value of the first column in the row.
5. Fetch the next row from the cursor into the @row variable.
6. Close and deallocate the cursor.