Funktionen sind berechnete Werte und können keine dauerhaften Umgebungsänderungen an SQL Server
vornehmen (d.h. kein INSERT
oder UPDATE
Anweisungen erlaubt).
Eine Funktion kann inline in SQL
verwendet werden Anweisungen, wenn es einen skalaren Wert zurückgibt, oder verknüpft werden können, wenn es eine Ergebnismenge zurückgibt.
Ein erwähnenswerter Punkt aus Kommentaren, die die Antwort zusammenfassen. Danke an @Sean K. Anderson:
Funktionen folgen der Definition der Informatik dahingehend, dass sie einen Wert zurückgeben MÜSSEN und die Daten, die sie als Parameter (die Argumente) erhalten, nicht ändern können. Funktionen dürfen nichts ändern, müssen mindestens einen Parameter haben und einen Wert zurückliefern. Storedprocs müssen keine Parameter haben, können Datenbankobjekte ändern und müssen keinen Wert zurückgeben.