Hva er prosedyre i SQL

Utviklere kan utnytte kraften til SQL med prosessuelle uttalelser innebygd i Pl / SQL, ettersom Pl / SQL er et blokkstrukturert språk. En lagret prosedyre er ikke noe annet enn en samling deklarative SQL-setninger. Vi kan tenke på en prosedyre som en funksjon eller en metode. Utløsere, andre prosedyrer eller applikasjoner på Java, PHP, etc. kan brukes til å påkalle en prosedyre. Blokkuttalelsene sendes til Oracle-motoren samtidig, slik at vi kan ha behandlingshastigheten høy og redusere trafikken.

En lagret prosedyre er akkurat som en kodeblokk som vi kan lagre og gjenbruke igjen og igjen. Hvis vi har en SQL-spørring som vi bruker flere ganger, så i stedet for å skrive den igjen kan vi lagre den som en lagret prosedyre, og da må vi bare ringe den og få den kjørt. Vi kan også overføre parametrene til en lagret prosedyre, slik at vi kan ha en utgang basert på parameterverdien eller de valgte verdiene.

Hva er SQL?

Strukturert spørringsspråk (SQL) uttales noen ganger som individkarakteren “S-QL” eller “se-Quel”. Den brukes til å spørre, manipulere eller oppdatere data i relasjonsdatabasen. Den brukes til å sette inn eller oppdatere eller slette poster i en database. En av hovedfunksjonalitetene til SQL er å opprettholde en database.

Syntaks for SQL-spørring for å hente alle postene er som følger:

velg * fra tabellnavn

Lagrede prosedyrer i SQL

Hva er en lagret prosedyre? En lagret prosedyre er en samling av strukturerte spørringsspråk (SQL) uttalelser med et navn tilordnet den. Disse lagrede prosedyrene lagres i et relasjonsdatabasestyringssystem (RDBMS). Så det er mulig ved flere anrop av prosedyrene som reduserer flere henrettelser og resulterer i redusert utførelsestid. Data kan endres ved å bruke prosedyrer, og den største fordelen er at de ikke er bundet til en bestemt applikasjon.

Lagrede prosedyrer kan godta parametere som en inngang og kan returnere flere verdier som en utdataparameter. I SQL Server utfører lagrede prosedyrer operasjoner i databasen og kan returnere en statusverdi til et program eller en batch-anropsprosedyre. Brukerdefinerte prosedyrer opprettes ved bruk av den brukerdefinerte databasen, med unntak når vi har en skrivebeskyttet database. For det må vi utvikle det i Transact SQL (T-SQL). Tempdb er der alle de midlertidige prosedyrene er lagret. Det er to typer lagrede prosedyrer vi har

  1. Lokale prosedyrer
  2. Globale prosedyrer

Lokale prosedyrer er den som bare er synlig for brukeren som bruker den i tilkoblingen, mens Globale prosedyrer er synlige for noen av brukerne i samme forbindelse.

Struktur for oppretting av prosedyren

Her betyr eier databasens navn og for å passere parameteren vi trenger for å legge til '@' symbolet.

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

Sammenligning mellom lagret prosedyre og funksjoner

Lagret prosedyre og funksjoner kan brukes for å oppnå den samme funksjonaliteten. Vi kan tilpasse både prosedyrer og funksjoner. Forskjellen mellom dem er at funksjoner er designet for å sende utdataene til Transact SQL, og lagrede prosedyrer er designet for å returnere utdataene til et spørsmål, i tillegg til at de også kan returnere utdataene til T-SQL. Programmer kan ha innspill fra de lagrede prosedyrene, mens brukerdefinerte funksjoner kan returnere tabellvariabler, og de har ikke privilegier til å endre miljøinnstillingene og heller ikke operativsystemmiljøet.

Databasefirma

SelskapKategoriPunkt
Tarleedibleskjeks
Tarleedibleschips
Lakmekosmetikkleppestift
brisketdagligvarebutikkLinfrø
brisketedibleskjeks
brisketdagligvarebutikkolje
olekosmetikkNeglelakk
olekosmetikkHårbørste

Lagret prosedyreeksempel

Følgende SQL-setning oppretter en lagret prosedyre som velger selskapet

LAG PROSEDYRE VelgAlleeksempel

SOM

VELG * FRA selskap GO;

Utfør den lagrede prosedyren ovenfor som følger:

Gjennomføring av prosedyren som er lagret ovenfor, kan vi bruke følgende kommando:

EXEC SelectAllExample;

Lagret prosedyreeksempel med ett parameter

Følgende SQL-setning oppretter en lagret prosedyre med en enkelt parameter som skal sendes som velger et selskap med et element som parameter

OPPRETT PROSEDYRE VelgAllExample @item nvarchar (30)

SOM

VELG * FRA selskap HVOR element = @ det GO;

Utfør den lagrede prosedyren ovenfor som følger:

For å utføre prosedyren som er lagret ovenfor med én parameter kan vi bruke følgende kommando: EXEC SelectAllExample item = “cookies”;

Lagret prosedyreeksempel med flere parametere

Følgende SQL-setning oppretter en lagret prosedyre med flere parametere som velger selskap med element og kategori som parameter

LAG PROSEDYRE VelgAlleeksempel @item nvarchar (30), @ kategori nvarchar (10)

SOM VELG * FRA selskap HVOR element = @ vare OG kategori = @ kategori GO;

Utfør den lagrede prosedyren ovenfor som følger:

For å utføre prosedyren som er lagret ovenfor med flere parametere kan vi bruke følgende kommando som vi trenger for å passere flere parametere med komma atskilt: EXEC SelectAllExample item = "cookies", kategori = "edibles";

Fordeler med prosedyre i SQL

  • Søknadsforbedring kan oppnås ved prosedyrer. Hvis en prosedyre blir kalt flere ganger i en enkelt applikasjon, brukes den kompilerte versjonen av prosedyren.
  • Trafikken mellom databasen og applikasjonen kan reduseres ettersom de store uttalelsene allerede er matet inn i databasen, og vi trenger ikke å sende den igjen og igjen.
  • Bruke prosedyrer kode gjenbrukbarhet kan oppnås, ligner funksjonene og metodene som fungerer i java og andre programmeringsspråk.

Ulemper ved prosedyre i SQL

  • Lagrede prosedyrer bruker mye minne. Det er plikten til en databaseadministrator å bestemme en øvre grense for hvor mange lagrede prosedyrer som er mulig for en bestemt applikasjon.
  • Lagrede prosedyrer kan ikke feilsøkes ved hjelp av MySQL.

Konklusjon: Hva er prosedyre i SQL

  • Enkle ikke-valgte uttalelser inkludert DML-setninger som Sett inn og slett, også DDL-setninger som Drop og Create kan inkluderes i de lagrede programmene.
  • Minneforbruket er mer, men søkefrekvensen kan reduseres og gjenbrukbarhet av kode er gunstig.
  • Lagrede prosedyrer kan implementeres med eller uten variabler og kan utføres ved å passere parametrene om nødvendig.

Anbefalte artikler

Dette har vært en guide til Hva er prosedyre i SQL. Her har vi diskutert strukturen, eksempler, fordeler og ulemper ved prosedyren i SQL. Du kan også se på følgende artikler for å lære mer -

  1. Hva er SQL Server?
  2. Hva er MySQL-database
  3. MySQL OpenSource
  4. Hva er SQL