Vad är SQL-lagrade procedurer och hur skapar du dem?

Vad är SQL-lagrade procedurer och hur skapar du dem?
Läsare som du hjälper till att stödja MUO. När du gör ett köp med hjälp av länkar på vår webbplats kan vi tjäna en affiliate-provision. Läs mer.

En lagrad procedur är en grupp SQL-satser som skapas och lagras i en databas. Du kan återanvända en lagrad procedur om och om igen.





En lagrad procedur kan acceptera parametrar, köra en fråga och returnera resultat. Många användare kan anropa en lagrad procedur och olika applikationer kan anropa den med olika parametervärden.





vilket är billigare uber eller lyft

Vilka är fördelarna med att använda lagrade procedurer?

Förutom att tillåta flera användare och applikationer att återanvända den, har en lagrad procedur andra fördelar.





  • Det är lätt att modifiera. Du kan ändra en lagrad procedur vid behov och dessa uppdateringar kommer att återspeglas för alla användare. Dessutom behöver du inte distribuera om din applikation när du ändrar den lagrade proceduren.
  • Det minskar nätverkstrafiken eftersom servern bara skickar procedurens namn över nätverket och inte hela frågan.
  • Det förbättrar databassäkerheten eftersom användare inte har direkt tillgång till tabeller. För att göra ändringar måste de anropa den lagrade proceduren. Detta förhindrar SQL-injektionsattacker eftersom användare inte direkt kan skriva till de underliggande tabellerna.

En databasmotor som MySQL har många säkerhetsfunktioner du bör vara medveten om.

Syntax för att skapa en lagrad procedur i SQL Server

Syntaxen för att skapa en lagrad procedur är som följer:



 CREATE PROCEDURE procedure_name 
AS
sql_statement
GO;

Kör detta kommando för att utföra den lagrade proceduren.

 EXEC procedure_name; 

Exempel på en enkel lagrad procedur i SQL Server

Här är ett exempel på en lagrad procedur som väljer alla artiklar från en artikeldatabas.





 CREATE PROCEDURE All_Articles 
AS
SELECT * FROM Article
GO;

Detta är ett enkelt exempel, men du kan göra så mycket mer med lagrade procedurer som att acceptera parametrar och uppdatera poster.

Hur man skapar en lagrad procedur som accepterar parametrar

Ändra till exempel den enkla lagrade proceduren för att acceptera ett nummer som en parameter och använd den för att returnera inläggen med ett antal visningar som är högre än antalet.





 CREATE PROCEDURE Popular_Articles(@views int) 
AS
SELECT * FROM Article
WHERE views_count >= @views_count
GO;

Använd detta kommando för att utföra den lagrade proceduren med en parameter.

gratis radio på min telefon org
 EXEC Popular_Articles 300; 

Proceduren returnerar artiklar vars visningsantal är högre än 300.

Lär dig SQL först innan du använder lagrade procedurer

Med lagrade procedurer kan du återanvända en grupp SQL-satser. De förbättrar också databassäkerheten, minskar nätverkstrafiken och är lätta att ändra.

Att lära sig om lagrade procedurer är därför viktigt, men du måste först ha en gedigen förståelse för SQL.