sql >> Database teknologi >  >> RDS >> Sqlserver

Funktion vs. lagret procedure i SQL Server

Funktioner er beregnede værdier og kan ikke udføre permanente miljøændringer på SQL Server (dvs. ingen INSERT eller UPDATE udsagn tilladt).

En funktion kan bruges inline i SQL udsagn, hvis det returnerer en skalarværdi eller kan sammenføjes, hvis det returnerer et resultatsæt.

En pointe, der er værd at bemærke fra kommentarer, som opsummerer svaret. Tak til @Sean K Anderson:

Funktioner følger den datavidenskabelige definition ved, at de SKAL returnere en værdi og ikke kan ændre de data, de modtager som parametre (argumenterne). Funktioner må ikke ændre noget, skal have mindst én parameter, og de skal returnere en værdi. Storedprocs behøver ikke at have en parameter, kan ændre databaseobjekter og behøver ikke at returnere en værdi.



  1. Hvordan opretter du en skrivebeskyttet bruger i PostgreSQL?

  2. LOAD DATA LOKAL INFIL forbudt i... PHP

  3. Hvad skal man sige til ASYNC NETWORK IO-ventetypen?

  4. Gem SQLite-forespørgselsresultater i en tekstfil