Ved Mary Gathoni

Lagrede procedurer: som funktioner til din SQL.

Læsere som dig hjælper med at støtte MUO. Når du foretager et køb ved hjælp af links på vores websted, kan vi optjene en affiliate-kommission. Læs mere.

En lagret procedure er en batch af SQL-sætninger oprettet og gemt i en database. Du kan genbruge en lagret procedure igen og igen.

En lagret procedure kan acceptere parametre, køre en forespørgsel og returnere resultater. Mange brugere kan kalde en lagret procedure, og forskellige applikationer kan kalde den med forskellige parameterværdier.

Hvad er fordelene ved at bruge lagrede procedurer?

Udover at tillade flere brugere og applikationer at genbruge det, har en lagret procedure andre fordele.

  • Det er nemt at ændre. Du kan ændre en lagret procedure, når det er nødvendigt, og disse opdateringer vil blive afspejlet for alle brugere. Desuden behøver du ikke at geninstallere din applikation, når du ændrer den lagrede procedure.
  • Det reducerer netværkstrafikken, fordi serveren kun sender procedurens navn over netværket og ikke hele forespørgslen.
    instagram viewer
  • Det forbedrer databasesikkerheden, da brugere ikke har direkte adgang til tabeller. For at foretage ændringer skal de kalde den lagrede procedure. Dette forhindrer SQL-injektionsangreb, da brugere ikke direkte kan skrive til de underliggende tabeller.

En databasemotor som MySQL har mange sikkerhedsfunktioner du skal være opmærksom på.

Syntaks for oprettelse af en lagret procedure i SQL Server

Syntaksen for at oprette en lagret procedure er som følger:

SKABPROCEDURE procedure_navn
SOM
sql_statement
GÅ;

Kør denne kommando for at udføre den lagrede procedure.

EXEC procedurenavn;

Eksempel på en simpel lagret procedure i SQL Server

Her er et eksempel på en lagret procedure, der udvælger alle artikler fra en artikeldatabase.

SKABPROCEDURE Alle_artikler
SOM
VÆLG * FRA Artikel
GÅ;

Dette er et simpelt eksempel, men du kan gøre så meget mere med lagrede procedurer som at acceptere parametre og opdatere poster.

Sådan opretter du en lagret procedure, der accepterer parametre

Rediger f.eks. den simple lagrede procedure til at acceptere et tal som en parameter og brug den til at returnere indlæggene med et antal visninger, der er højere end antallet.

SKABPROCEDURE Popular_Articles(@views int)
SOM
VÆLG * FRA Artikel
WHERE views_count >= @visninger_tælle
GÅ;

Brug denne kommando til at udføre den lagrede procedure med en parameter.

EXEC Popular_Articles 300;

Proceduren returnerer de artikler, hvis visningstal er højere end 300.

Lær SQL først, før du bruger lagrede procedurer

Lagrede procedurer giver dig mulighed for at genbruge en gruppe af SQL-sætninger. De forbedrer også databasesikkerheden, reducerer netværkstrafikken og er nemme at ændre.

At lære om lagrede procedurer er derfor vigtigt, men du skal først have en solid forståelse af SQL.

Abonner på vores nyhedsbrev

Kommentarer

DelTweetDelDelDel
Kopi
E-mail
Del
DelTweetDelDelDel
Kopi
E-mail

Linket er kopieret til udklipsholderen

Relaterede emner

  • Programmering
  • SQL
  • database

Om forfatteren

Mary Gathoni (75 artikler udgivet)

Mary er medarbejderskribent på MUO med base i Nairobi. Hun har en B.Sc i anvendt fysik og datalogi, men nyder at arbejde med teknologi mere. Hun har kodet og skrevet tekniske artikler siden 2020.