As funções são valores calculados e não podem realizar alterações ambientais permanentes no
SQL Server
(ou seja, sem INSERT
ou UPDATE
declarações permitidas). Uma função pode ser usada inline em
SQL
instruções se retornar um valor escalar ou pode ser unida se retornar um conjunto de resultados. Um ponto digno de nota dos comentários, que resumem a resposta. Obrigado a @Sean K Anderson:
As funções seguem a definição da ciência da computação, pois DEVEM retornar um valor e não podem alterar os dados que recebem como parâmetros (os argumentos). As funções não podem alterar nada, devem ter pelo menos um parâmetro e devem retornar um valor. Os Storedprocs não precisam ter um parâmetro, podem alterar objetos de banco de dados e não precisam retornar um valor.