FattMatt:I am inserting a new row, then trying to update the LanguageVersionID of the updated row from 17 to 25
The suggestion that i made would not affect the original data. it changes the LanguageVersionID to 25 for the new rows being inserted. It's only a single insert statement so only the inserted data is going to be affected. Since you indicated you were copying all the values over from the existing row to the new row, it shouldnt matter if the new value of 25 lands in the old rows or the new rows.
So in this query, we are selecting rows with a LanguageID of 17, but we are inserting those selected rows as copies with a LanguageID of 25
INSERT INTO NameDetail (NameDetail.FirstName, NameDetail.MiddleName,
NameDetail.LastName, NameDetail.LanguageVersionID, NameDetail.UserID)
(SELECT NameDetail.FirstName, NameDetail.MiddleName,
NameDetail.LastName, 25, NameDetail.UserID
FROM NameDetail
WHERE NameDetail.UserID = @UserID
AND NameDetail.LanguageVersionID = 17)
Is there more to it on your end that makes this unworkable?