Hoe maak je opgeslagen procedures in SQL?



Dit artikel over procedures in SQL helpt u te begrijpen wat procedures zijn en hoe ze de prestaties van een database verbeteren wanneer ze worden geïmplementeerd.

Procedures zijn de subprogramma's die kunnen worden gemaakt en opgeslagen in het als database-objecten. Net zoals u in andere talen kunt, kunt u procedures maken en neerzetten in SQL ook. Laten we in dit artikel de procedures in SQL onderzoeken met syntaxis en voorbeelden.

De onderwerpen die in het artikel worden besproken zijn:





Wat is een procedure in SQL?

Een procedure in (vaak opgeslagen procedure genoemd),is een herbruikbare eenheid die de specifieke bedrijfslogica van de applicatie omvat. Een SQL-procedure is een groep SQL-instructies en logica, gecompileerd en samen opgeslagen om een ​​specifieke taak uit te voeren.

SQL-procedure - procedures in SQL - Edureka



Hieronder staan ​​de belangrijkste kenmerken van de SQL-procedures:

  • Makkelijk te implementeren omdat ze een heel simpelsterk getypeerde taal op hoog niveau
  • Ondersteunt drie soorten parameters, namelijkinvoer-, uitvoer- en invoer-uitvoerparameters.
  • Betrouwbaarder dan gelijkwaardigexterne procedures.
  • SQL-procedures bevorderen herbruikbaarheid en onderhoudbaarheid.
  • Ondersteunt een eenvoudig maar krachtig conditie- en foutafhandelingsmodel.
  • Retourneer een statuswaarde naar een aanroepende procedure of batch om succes of mislukking en de reden voor mislukking aan te geven.

Nu u weet wat procedures zijn en waarom ze nodig zijn, gaan we de syntaxis en het voorbeeld van een procedure in SQL bespreken.

Syntaxis van procedures in SQL

Het volgende illustreert de basissyntaxis van het maken van een procedure in SQL:



CREATE [OR REPLACE] PROCEDURE procedure_name [(parameternaam [IN | OUT | IN OUT] type [])] IS BEGIN [declaratie_section] executable_section // SQL-instructie gebruikt in de opgeslagen procedure END GO

Syntaxis terminologieën

Parameter

Een parameter is een variabele die de waarde any bevatgeldig SQL-datatype waarmee het subprogramma de waarden kan uitwisselen met de hoofdcode. Met andere woorden, parameters worden gebruikt om waarden door te geven aan de procedure. Er zijn 3 verschillende soorten parameters, die als volgt zijn:

  • IN : TDit is de standaardparameter, die altijd de waarden ontvangt van het aanroepende programma. Het is een alleen-lezen variabele binnen de subprogramma's en de waarde kan niet binnen het subprogramma worden gewijzigd.
  • UIT: Het isgebruikt voor het verkrijgen van uitvoer van de subprogramma's.
  • IN UIT: Dezeparameter wordt gebruikt om zowel input te geven als om output van de subprogramma's te krijgen.

Andere terminologieën

het sorteren van een array in c ++ programma
  • procedure-naam specificeert de naam van de procedure. Het moet uniek zijn.
  • Met de optie [OF VERVANGEN] kan een bestaande procedure worden gewijzigd.
  • IS | AS-clausule, ze hebben decontext om de opgeslagen procedure uit te voeren.Het verschil is dat het trefwoord ‘IS’ wordt gebruikt wanneer de procedure in een aantal andere blokken is genest en als de procedure standalone is, wordt ‘AS’ gebruikt.
  • Code_Block declareert de procedurele instructies die alle verwerking binnen de opgeslagen procedure afhandelen. De inhoud van het code_block is afhankelijk van de regels en proceduretaal die worden gebruikt door het database .

Procedure in SQL: voorbeelden

Voorbeeld 1

In het volgende voorbeeld wordt een eenvoudige procedure gemaakt waarmee het welkomstbericht op het scherm wordt weergegeven wanneer het wordt uitgevoerd. De procedure is dan:

CREËER OF VERVANG PROCEDURE welcome_msg (para1_name IN VARCHAR2) IS BEGIN dbms_output.put_line (‘Hello World! '|| para1_name) END /

Voer de opgeslagen procedure uit. Een op zichzelf staande procedure kan op twee manieren worden aangeroepen & minus

  • De ... gebruiken UITVOEREN trefwoord
  • De naam van de procedure aanroepen vanuit een SQL-blok

De bovenstaande procedure kan als volgt worden aangeroepen met het trefwoord Execute:

EXEC welcome_msg (‘Welkom bij Edureka!’)

Uitvoer

Hallo Wereld! Welkom in Edureka

De procedure wordt uitgevoerd en het bericht wordt afgedrukt als 'Hallo wereld! Welkom bij Edureka ”.

Voorbeeld2

Stel dat u een tabel heeft met Emplyoee-details, zoals EmployeId, Firstname, Lastname en DepartmentDetails.

In dit voorbeeld wordt een SQL-procedure gemaakt die de naam van een werknemer retourneert wanneer de EmployeId wordt gegeven als de invoerparameter voor de opgeslagen procedure. De procedure is dan:

Maak PROCEDURE GetStudentName (@employeeID INT, --Invoerparameter, employeID van de werknemer @employeName VARCHAR (50) OUT --Uitvoerparameter, employeeName van werknemer AS BEGIN SELECT @ EmployeName = Voornaam + '' + Achternaam FROM Werknemer_Tabel WAAR Werknemer = @ werkeID EINDE

Uit te voeren stappen:

  • Verklaar @employeName als nvarchar (50)
  • EXEC GetStudentName 01, @ employeeName output
  • selecteer @employeName

De bovenstaande procedure voor het geven van een werknemer-ID als invoer retourneert de naam van die specifieke werknemer. Stel dat we een uitvoerparameter t hebbenDaarna moeten we eerst de variabele declareren om de outputwaarden te verzamelen.Laten we nu eens kijken naar de voordelen van procedure in SQL.

Voordelen van procedures in SQL

Het belangrijkste doel van opgeslagen procedures in SQL is om direct te verbergen SQL-query's uit de code en verbeter de prestaties van databasebewerkingen zoals het selecteren, bijwerken en verwijderen van gegevens. Andere voordelen van procedure in SQL zijn:

  • Vermindert de hoeveelheid informatie die naar de databaseserver wordt verzonden. Het kan een belangrijker voordeel worden wanneer de bandbreedte van het netwerk kleiner is.
  • Maakt herbruikbaarheid van code mogelijk
  • Verbetert de beveiliging aangezien u de gebruiker toestemming kunt geven voor het uitvoeren van de Opgeslagen procedure in plaats van toestemming te geven voor de tabellen die in de Opgeslagen procedure worden gebruikt.
  • Ondersteuning van geneste procedure-aanroepen naar andere SQL-procedures of procedures die in andere talen zijn geïmplementeerd.

Tot slot, procedures in SQL (opgeslagen procedures)vergroot niet alleen de mogelijkheid om de code te hergebruiken, maar verhoogt ook de prestaties van de database. Hoe? Door het verkeer van het netwerk te verminderen door de hoeveelheid informatie die over het netwerk wordt verzonden te verminderen. Hiermee zijn we aan het einde van dit artikel gekomen.

Als u meer wilt weten over MySQL en maak kennis met deze open-source relationele database, bekijk dan onze die wordt geleverd met live training onder leiding van een instructeur en real-life projectervaring. Deze training zal je helpen MySQL diepgaand te begrijpen en je te helpen het onderwerp onder de knie te krijgen.

Heeft u een vraag voor ons? Vermeld het in het commentaargedeelte van dit ‘Procedures in SQL-artikel en we nemen contact met u op.