Yes, you are right, with this second call you will now receive only a name.
Out-Parameters for many people are usually considered bad practice, but they can be convenient if you want to get a value that you can work with after a call (which could also be calculated by a function). And in most cases, there is a better way to achieve what you want without using out-parameters.
However, the only “advantage” if you want is that you have a value in the variable instead of a result set, which may seem more convenient if you decide to use only this value further in your sql or if you want to work with it.
Therefore, in most cases, you should not use out-parameters, use functions instead. If you have procedures that return result sets AND out-parameters try to break them into smaller functions / procedures in order to avoid out-parameters, because it's just not nice to read and maintain;)
source share