Unless I've missed something here - and I may have - I think this is fairly straightforward.
Essentially the only problem here is you don't want to type out all the column names- that can easily be automated with a bit of dynamic SQL using the sys tables as hinted at by Randolph West.
select @Sql = COALESCE(@Sql + ', ', '') + COLUMN_NAME
Which will list out all the columns separated with commas, as if you typed them ready for insert/update (or select).
This post: Selecting column name dynamically in an insert query is a stack overflow question that goes into the detail.
Just thought I'd add for clarity and to consolidate some comments:-
Anything can be added to the @Sql 'building' bit, for example if you want the table name put before the column name, the select part would be:
select @Sql = COALESCE(@Sql + ', ', '') + TABLE_NAME + '.' + COLUMN_NAME
You can execute that variable using
to give it to you in a query execution window, which you can copy & paste and run (which I would usually do - you can double check the code first and edit if needed)