Вы можете встраивать функции в операторы SQL так же, как если бы вы использовали любую встроенную функцию SQL, такую как COALESCE, CONVERT и т. Д. Procs может возвращать значение, но возвращаемые значения ограничены. Например, если я правильно помню, вы можете вернуть табличную переменную из функции, но не из сохраненного процесса.
Итак, с помощью функции вы можете делать такие вещи:
SELECT dbo.MyFunc(myColumn) as [Column Alias Name] FROM MyTable
или
SELECT * FROM dbo.MyTableVariableReturningFunc() as tbl
С сохраненными процессами вы можете получить возвращаемое значение следующим образом:
DELCARE @ReturnVal as int
EXEC @ReturnVal = USP_MyStoredProc