I'm always splitting concatenated strings into rows/whatnot so I knocked the following function up to give me the (n)th value in a delimited string. Bung it in a loop...
I've just come across a situation where an update/insert on a linked server's table failed, as it didn't have a PK - so there's another reason to make sure you...