Hur skapar man lagrade procedurer i SQL?



Den här artikeln om procedurer i SQL hjälper dig att förstå vad procedurer är och hur de ökar prestanda för en databas när de implementeras.

Procedurer är de underprogram som kan skapas och sparas i som databasobjekt. Precis som du kan på andra språk kan du skapa och släppa procedurer i SQL också. I den här artikeln ska vi utforska procedurer i SQL med syntax och exempel.

De ämnen som diskuteras i artikeln är:





Vad är ett förfarande i SQL?

Ett förfarande i (ofta kallad lagrad procedur),är en återanvändbar enhet som inkapslar applikationens specifika affärslogik. En SQL-procedur är en grupp SQL-uttalanden och logik, sammanställs och lagras tillsammans för att utföra en specifik uppgift.

företag som använder r programmeringsspråk

SQL Procedure - Procedurer i SQL - Edureka



Nedan listas de viktigaste funktionerna i SQL-procedurerna:

  • Lätt att implementera eftersom de använder en mycket enkelstarkt skrivet språk på hög nivå
  • Stöder tre typer av parametrar, nämligen,ingångs-, utgångs- och ingångsparametrar.
  • Mer pålitlig än motsvarandeexterna förfaranden.
  • SQL-procedurer främjar återanvändbarhet och underhåll.
  • Stöder en enkel men kraftfull modell och felhanteringsmodell.
  • Returnera ett statusvärde till ett anropsförfarande eller batch för att ange framgång eller misslyckande och orsaken till misslyckandet.

Nu när du vet vad procedurer är och varför de behövs, ska vi diskutera syntaxen och exemplet på proceduren i SQL.

Syntax för procedurer i SQL

Följande illustrerar den grundläggande syntaxen för att skapa en procedur i SQL:



SKAPA [ELLER Byt ut] PROCEDUR procedurnamn [(parameternamn [IN | UT | IN UT] typ [])] ÄR BÖRJAN [deklarationssektion] körbar_sektion // SQL-sats används i den lagrade proceduren SLUT

Syntaxterminologier

Parameter

En parameter är en variabel som har värdet för vilken som helstgiltig SQL-datatyp genom vilken underprogrammet kan utbyta värdena med huvudkoden. Med andra ord, sidarametrar används för att överföra värden till proceduren. Det finns tre olika typer av parametrar, som är följande:

  • I : Thans är standardparametern, som alltid tar emot värdena från det anropande programmet. Det är en skrivskyddad variabel i underprogrammen och dess värde kan inte ändras i underprogrammet.
  • UT: Det äranvänds för att få utdata från underprogrammen.
  • IN UT: Dettaparametern används för både att ge inmatning och för att få utmatning från underprogrammen.

Andra terminologier

  • förfarande-namn anger namnet på proceduren. Det borde vara unikt.
  • Alternativet [ELLER BYT ut] möjliggör modifiering av ett befintligt förfarande.
  • ÄR | Som klausul ställer de inkontext för att utföra den lagrade proceduren.Skillnaden är att nyckelordet 'IS' används när proceduren är kapslad i några andra block och om proceduren är fristående används 'AS'.
  • Code_Block förklarar de proceduruttalanden som hanterar all bearbetning inom det lagrade förfarandet. Innehållet i code_blocken beror på reglerna och procedurspråket som används av databas .

Procedur i SQL: exempel

Exempel 1

I följande exempel skapas en enkel procedur som visar välkomstmeddelandet på skärmen när det körs. Sedan kommer proceduren att vara:

SKAPA ELLER Byt ut förfarande välkomst_msg (para1_name I VARCHAR2) ÄR BÖRJN dbms_output.put_line (‘Hello World! '|| para1_name) END /

Utför den lagrade proceduren. Ett fristående förfarande kan anropas på två sätt och minus

skillnad mellan kock och ansible
  • Använda KÖR nyckelord
  • Anropa namnet på proceduren från ett SQL-block

Ovanstående procedur kan anropas med Execute-nyckelord enligt följande:

EXEC welcome_msg (”Välkommen till Edureka!”)

Produktion

Hej världen! Välkommen till Edureka

Proceduren utförs och meddelandet skrivs ut som “Hello World! Välkommen till Edureka ”.

Exempel 2

Låt oss anta att du har en tabell med Emplyoee-detaljer, som EmployeId, Firstname, Efternamn och DepartmentDetails.

Det här exemplet skapar en SQL-procedur som returnerar ett anställds namn när anställd ges som ingångsparameter till den lagrade proceduren. Sedan kommer proceduren att vara:

hur man använder tostring i java
Skapa FÖRFARANDE GetStudentName (@employeeID INT, - Inmatningsparameter, anställds anställd @ medarbetarnamn VARCHAR (50) UT - Utmatningsparameter, anställds namn på anställd SOM BÖRJA VÄLJ @ anställd = Förnamn + '' + Efternamn FRÅN Anställd_Tabell VAR EmployeId = @ anställd SLUTET

Steg för att utföra:

  • Förklara @employeName som nvarchar (50)
  • EXEC GetStudentName 01, @employeName output
  • välj @ arbetsnamn

Ovanstående procedur för att ange id för anställd returnerar namnet på just den anställda. Antag att om vi har en utgångsparameter tdå måste vi först deklarera variabeln för att samla utgångsvärdena.Låt oss nu se fördelarna med proceduren i SQL.

Fördelar med procedurer i SQL

Huvudsyftet med lagrade procedurer i SQL är att dölja direkt SQL-frågor från koden och förbättra prestanda för databasåtgärder som att välja, uppdatera och ta bort data. Andra fördelar med proceduren i SQL är:

  • Minskar mängden information som skickas till databasservern. Det kan bli en viktigare fördel när nätverkets bandbredd är mindre.
  • Aktiverar återanvändbarhet av kod
  • Förbättrar säkerheten eftersom du kan ge behörighet till användaren för att utföra den lagrade proceduren istället för att ge tillstånd på de tabeller som används i den lagrade proceduren.
  • Stöd kapslade proceduranrop till andra SQL-procedurer eller procedurer implementerade på andra språk.

För att avsluta, procedurer i SQL (lagrade procedurer)förbättrar inte bara möjligheten att återanvända koden utan ökar också databasens prestanda. På vilket sätt? Genom att minska trafiken i nätverket genom att minska mängden information som skickas över nätverket. Med detta har vi kommit till slutet av den här artikeln.

Om du vill lära dig mer om MySQL och lära känna denna open source-relationsdatabas och kolla in vår som kommer med instruktörsledad live-utbildning och verklig projektupplevelse. Denna utbildning hjälper dig att förstå MySQL på djupet och hjälper dig att behärska ämnet.

Har du en fråga till oss? Vänligen nämna det i kommentarsektionen i denna artikel 'Procedurer i SQL så återkommer vi till dig.