Las funciones son valores calculados y no pueden realizar cambios ambientales permanentes en SQL Server
(es decir, sin INSERT
o UPDATE
declaraciones permitidas).
Una función se puede usar en línea en SQL
declaraciones si devuelve un valor escalar o se pueden unir si devuelve un conjunto de resultados.
Un punto que vale la pena destacar de los comentarios, que resumen la respuesta. Gracias a @Sean K Anderson:
Las funciones siguen la definición informática en el sentido de que DEBEN devolver un valor y no pueden alterar los datos que reciben como parámetros (los argumentos). Las funciones no pueden cambiar nada, deben tener al menos un parámetro y deben devolver un valor. Storedprocs no tiene que tener un parámetro, puede cambiar los objetos de la base de datos y no tiene que devolver un valor.