Пользовательская функция может возвращать строго определенное скалярное или табличное значение. По сути, функция может возвращать любой тип данных, который вы можете назначить переменной T-SQL или набору строк.
Хранимая процедура не сильно определяет тип возвращаемого значения. Он может иметь ноль, один или несколько наборов результатов, которые могут иметь скалярные значения или значения набора строк.