• > update MyTable

    > set NewZip = ZipCode,

    > @LastKey = NameKey

    That may well work in this example, but it is not something I'd like to use for production use. You are relying on @LastKey being set to the last (alphabetically) NameKey value updated. Your updating a set, it could take any of the values from that set.