Vad är procedur i SQL

Utvecklare kan utnyttja kraften i SQL med processuella uttalanden inbäddade i Pl / SQL, eftersom Pl / SQL är ett blockstrukturerat språk. En lagrad procedur är inget annat än en samling deklarativa SQL-uttalanden. Vi kan tänka på en procedur som en funktion eller en metod. Triggers, andra procedurer eller applikationer på Java, PHP, etc. kan användas för att åberopa en procedur. Blockutdragen överförs till Oracle-motoren på en gång så att vi kan ha behandlingshastigheten hög och för att minska trafiken.

En lagrad procedur är precis som ett kodblock som vi kan spara och återanvända om och om igen. Om vi ​​har en SQL-fråga som vi använder flera gånger, så istället för att skriva om den igen kan vi spara den som en lagrad procedur, och då måste vi bara ringa den och få den utförd. Vi kan också vidarebefordra parametrarna till en lagrad procedur, så vi kan ha en utgång baserad på parametervärdet eller de värden som passeras.

Vad är SQL?

Structured Query Language (SQL) uttalas ibland som enskilt tecken "S-QL" eller "se-Quel". Det används för att fråga, manipulera eller uppdatera data i den relationsdatabas. Det används för att infoga eller uppdatera eller radera poster i en databas. En av huvudfunktionerna i SQL är att upprätthålla en databas.

Syntax för SQL-frågan för att hämta alla poster är följande:

välj * från tabellnamn

Lagrade procedurer i SQL

Vad är en lagrad procedur? En lagrad procedur är en samling SQL-uttalanden med strukturerad fråga (SQL) med ett namn tilldelat det. Dessa lagrade procedurer lagras i ett relationsdatabashanteringssystem (RDBMS). Så det är möjligt för flera anrop av procedurerna att minska flera avrättningar och resultera i reducerad körningstid. Data kan modifieras med hjälp av procedurer och den stora fördelen är att de inte är bundna till en viss applikation.

Lagrade procedurer kan acceptera parametrar som en ingång och kan returnera flera värden som en utgångsparameter. I SQL Server utför lagrade procedurer operationer i databasen och kan returnera ett statusvärde till en applikation eller en batchsamtalsprocedur. Användardefinierade procedurer skapas med den användardefinierade databasen, med undantag när vi har en skrivskyddad databas. För det måste vi utveckla det i Transact SQL (T-SQL). Tempdb är där alla tillfälliga procedurer lagras. Det finns två typer av lagrade procedurer vi har

  1. Lokala förfaranden
  2. Globala förfaranden

Lokala procedurer är de som endast är synliga för användaren som använder den i anslutningen, medan globala procedurer är synliga för någon av användarna i samma anslutning.

Struktur för att skapa proceduren

Här betyder ägaren databasnamnet och för att skicka parametern måste vi lägga till symbolen '@'.

CREATE PROCEDURE .
AS
Execute a Stored Procedure
Exec is the command for the execution of the procedure.
EXEC Procedure_name

Jämförelse mellan lagrad procedur och funktioner

Lagrad procedur och funktioner kan användas för att uppnå samma funktionalitet. Vi kan anpassa såväl procedurer som funktioner. Skillnaden mellan dem är att funktioner är utformade för att skicka sin utgång till Transact SQL och lagrade procedurer är utformade för att returnera utdata till en fråga såväl som de kan återföra utdata till T-SQL. Program kan ha en inmatning från de lagrade procedurerna, medan användardefinierade funktioner kan returnera tabellvariabler och de har inte rätt att ändra miljöinställningarna, varken operativsystemmiljön.

Databasföretag

FöretagKategoriArtikel
Tarlematvarorsmåkakor
Tarlematvarorpommes frites
Lakmekosmetikaläppstift
BringamatvarorLinfrön
Bringamatvarorkex
Bringamatvarorolja
olekosmetikaNagellack
olekosmetikaHårborste

Exempel på lagrad procedur

Följande SQL-uttalande skapar en lagrad procedur som väljer företaget

CREATE PROCEDURE VäljAllexempel

SOM

VÄLJ * FRÅN företaget GO;

Utför den lagrade proceduren ovan enligt följande:

Genom att utföra ovan lagrade procedur kan vi använda följande kommando:

EXEC SelectAllExample;

Lagerprocedursexempel med en parameter

Följande SQL-uttalande skapar en lagrad procedur med en enda parameter som ska skickas som väljer ett företag med ett objekt som en parameter

SKAPA FÖRFARANDE VäljAllaxempel @item nvarchar (30)

SOM

VÄLJ * FRÅN företag där VAR objekt = @ det GO;

Utför den lagrade proceduren ovan enligt följande:

För att utföra ovan lagrad procedur med en parameter kan vi använda följande kommando: EXEC SelectAllExample item = “cookies”;

Lagerprocedursexempel med flera parametrar

Följande SQL-sats skapar en lagrad procedur med flera parametrar som väljer företag med objekt och kategori som parameter

SKAPA FÖRFARANDE VäljAllExempel @item nvarchar (30), @ kategori nvarchar (10)

SOM VÄLJ * FRÅN företag där VAR objekt = @ artikel OCH kategori = @ kategori GO;

Utför den lagrade proceduren ovan enligt följande:

För att utföra ovan lagrad procedur med flera parametrar kan vi använda följande kommando som vi behöver för att skicka flera parametrar med komma separerade: EXEC SelectAllExample item = "cookies", kategori = "edibles";

Fördelar med procedur i SQL

  • Ansökan kan förbättras genom förfaranden. Om en procedur kallas flera gånger i en enda applikation, används den sammanställda versionen av proceduren.
  • Trafiken mellan databasen och applikationen kan minskas eftersom de stora uttalandena redan matas in i databasen och vi behöver inte skicka den igen och igen.
  • Genom att använda procedurer kan kodåteranvändning uppnås, liknande funktionerna och metoderna som fungerar på java och andra programmeringsspråk.

Nackdelar med procedur i SQL

  • Lagrade procedurer förbrukar mycket minne. Det är en databasadministratörs skyldighet att bestämma en övre gräns för hur många lagrade procedurer som är möjliga för en viss applikation.
  • Lagrade procedurer kan inte felsöks med MySQL.

Slutsats: Vad är procedur i SQL

  • Enkla uttalanden som inte väljs inklusive DML-uttalanden som Infoga och radera, även DDL-uttalanden som Drop och Create kan inkluderas i de lagrade programmen.
  • Minneskonsumtionen är mer men sökfrekvensen kan minskas och återanvändbarhet av koden är fördelaktigt.
  • Lagrade procedurer kan implementeras med eller utan variabler och kan utföras genom att lämna parametrarna vid behov.

Rekommenderade artiklar

Detta har varit en guide till What is Procedure in SQL. Här har vi diskuterat strukturen, exempel, fördelar och nackdelar med proceduren i SQL. Du kan också titta på följande artiklar för att lära dig mer -

  1. Vad är SQL Server?
  2. Vad är MySQL-databas
  3. MySQL OpenSource
  4. Vad är SQL