sql >> Databasteknik >  >> RDS >> Sqlserver

Funktion kontra lagrad procedur i SQL Server

Funktioner är beräknade värden och kan inte utföra permanenta miljöändringar på SQL Server (dvs ingen INSERT eller UPDATE påståenden tillåtna).

En funktion kan användas inline i SQL uttalanden om det returnerar ett skalärt värde eller kan sammanfogas om det returnerar en resultatuppsättning.

En poäng som är värd att notera från kommentarer, som sammanfattar svaret. Tack till @Sean K Anderson:

Funktioner följer den datavetenskapliga definitionen genom att de MÅSTE returnera ett värde och inte kan ändra data de får som parametrar (argumenten). Funktioner får inte ändra något, måste ha minst en parameter och de måste returnera ett värde. Storedprocs behöver inte ha en parameter, kan ändra databasobjekt och behöver inte returnera ett värde.



  1. Android med rum - Hur man ställer in en främmande nyckel på null

  2. Välj första raden i varje grupp i sql

  3. MySQL-skärning närmar sig?

  4. 2 sätt att få det korta månadsnamnet från ett datum i MariaDB