The types of cursors used are very important in terms of performance.
You should take this approach in most circumstances, as you'll potentially see performance gains when switching from a looping construct to a set-based construct.
Notice the fld3 field in the table declaration; I'm making this a larger field so that fewer rows are created on a page of data.
In my opinion, this will make the test a little more realistic, as it will "simulate" a table that contains a variety of character columns along with some additional fields of data.
I'll take a closer look at each option and explain why it's difficult to pinpoint which is better in terms of performance.
Cursors are a looping construct built inside the database engine and come with a wide variety of features.