Come creare stored procedure in SQL?



Questo articolo sulle procedure in SQL ti aiuterà a capire cosa sono le procedure e come aumentano le prestazioni di un database una volta implementate.

Le procedure sono i sottoprogrammi che possono essere creati e salvati nel file come oggetti di database. Proprio come puoi in altre lingue, puoi creare e inserire procedure SQL anche. In questo articolo, esploriamo le procedure in SQL con la sintassi e gli esempi.

Gli argomenti discussi nell'articolo sono:





Cos'è una procedura in SQL?

Una procedura in (spesso definita procedura memorizzata),è un'unità riutilizzabile che incapsula la logica di business specifica dell'applicazione. Una procedura SQL è un gruppo di istruzioni e logica SQL, compilate e memorizzate insieme per eseguire un'attività specifica.

Procedura SQL - Procedure in SQL - Edureka



Di seguito sono elencate le caratteristiche principali delle procedure SQL:

  • Facile da implementare perché utilizzano un sistema molto semplicelinguaggio di alto livello e fortemente tipizzato
  • Supporta tre tipi di parametri, vale a dire,parametri di input, output e input-output.
  • Più affidabile dell'equivalenteprocedure esterne.
  • Le procedure SQL promuovono la riusabilità e la manutenibilità.
  • Supporta una condizione semplice ma potente e un modello di gestione degli errori.
  • Restituisce un valore di stato a una procedura oa un batch chiamante per indicare l'esito positivo o negativo e il motivo dell'errore.

Ora che sai cosa sono le procedure e perché sono necessarie, esaminiamo la sintassi e l'esempio di procedura in SQL.

Sintassi delle procedure in SQL

Di seguito viene illustrata la sintassi di base della creazione di una procedura in SQL:



CREATE [OR REPLACE] PROCEDURE nome_procedura [(nome_parametro [IN | OUT | IN OUT] tipo [])] IS BEGIN [sezione_dichiarazione] sezione_eseguibile // Istruzione SQL utilizzata nella procedura memorizzata END GO

Terminologie della sintassi

Parametro

talend open studio tutorial pdf

Un parametro è una variabile che contiene un valore qualsiasitipo di dato SQL valido attraverso il quale il sottoprogramma può scambiare i valori con il codice principale. In altre parole, pGli arametri vengono utilizzati per passare i valori alla procedura. Esistono 3 diversi tipi di parametri, che sono i seguenti:

  • NEL : Tquesto è il parametro di default, che riceve sempre i valori dal programma chiamante. È una variabile di sola lettura all'interno dei sottoprogrammi e il suo valore non può essere modificato all'interno del sottoprogramma.
  • SU: Èutilizzato per ottenere l'output dai sottoprogrammi.
  • DENTRO FUORI: Questoparametro viene utilizzato sia per fornire input che per ottenere output dai sottoprogrammi.

Altre terminologie

  • nome-procedura specifica il nome della procedura. Dovrebbe essere unico.
  • L'opzione [OR REPLACE] consente la modifica di una procedura esistente.
  • È | Clausola AS, hanno impostato l'estensionecontesto per eseguire la procedura memorizzata.La differenza è che la parola chiave 'IS' viene utilizzata quando la procedura è nidificata in altri blocchi e se la procedura è autonoma, viene utilizzato 'AS'.
  • Code_Block dichiara le istruzioni procedurali che gestiscono tutta l'elaborazione all'interno della stored procedure. Il contenuto di code_block dipende dalle regole e dal linguaggio procedurale utilizzato da Banca dati .

Procedura in SQL: esempi

Esempio 1

L'esempio seguente crea una semplice procedura che visualizza il messaggio di benvenuto sullo schermo quando viene eseguita. Quindi, la procedura sarà:

PROCEDURA DI CREAZIONE O SOSTITUZIONE welcome_msg (para1_name IN VARCHAR2) È INIZIO dbms_output.put_line ('Hello World!' || para1_name) END /

Eseguire la stored procedure. Una procedura autonoma può essere chiamata in due modi & meno

  • Usando il ESEGUIRE parola chiave
  • Chiamare il nome della procedura da un blocco SQL

La procedura sopra può essere chiamata utilizzando la parola chiave Execute come segue:

EXEC welcome_msg ('Benvenuto in Edureka!')

Produzione

Ciao mondo! Benvenuto in Edureka

La procedura viene eseguita e il messaggio viene stampato come 'Hello World! Benvenuto in Edureka ”.

Esempio 2

Supponiamo di avere una tabella con i dettagli di Emplyoee, come EmployeId, Firstname, Lastname e DepartmentDetails.

Questo esempio crea una procedura SQL che restituirà il nome di un dipendente quando il EmployeId viene fornito come parametro di input per la stored procedure. Quindi, la procedura sarà:

Crea PROCEDURA GetStudentName (@employeeID INT, --Input parametro, EmployeID del dipendente @employeName VARCHAR (50) OUT - parametro OUT - EmployeeName del dipendente AS BEGIN SELECT @ EmployeName = Firstname + '' + Lastname FROM Employee_Table WHERE EmployeId = @ EmployeID FINE

Passaggi da eseguire:

come implementare un heap
  • Dichiara @employeName come nvarchar (50)
  • EXEC GetStudentName 01, output @employeName
  • seleziona @employeName

La procedura sopra per fornire l'ID del dipendente come input restituisce il nome di quel particolare dipendente. Supponiamo di avere un parametro di output then dobbiamo prima dichiarare la variabile per raccogliere i valori di output.Ora vediamo i vantaggi della procedura in SQL.

Vantaggi delle procedure in SQL

Lo scopo principale delle stored procedure in SQL è nascondere direttamente Query SQL dal codice e migliorare le prestazioni delle operazioni del database come selezionare, aggiornare ed eliminare i dati. Altri vantaggi della procedura in SQL sono:

  • Riduce la quantità di informazioni inviate al server database. Può diventare un vantaggio più importante quando la larghezza di banda della rete è inferiore.
  • Abilita la riusabilità del codice
  • Migliora la sicurezza poiché è possibile concedere l'autorizzazione all'utente per l'esecuzione della procedura memorizzata invece di concedere l'autorizzazione sulle tabelle utilizzate nella procedura memorizzata.
  • Supporta chiamate di procedure annidate ad altre procedure SQL o procedure implementate in altri linguaggi.

Per concludere, procedure in SQL (stored procedure)non solo aumenta la possibilità di riutilizzare il codice ma aumenta anche le prestazioni del database. Come? Riducendo il traffico della rete riducendo la quantità di informazioni inviate sulla rete. Con questo, siamo arrivati ​​alla fine di questo articolo.

Se desideri saperne di più su MySQL e conosci questo database relazionale open source, quindi dai un'occhiata al nostro che viene fornito con formazione dal vivo con istruttore e esperienza di progetto nella vita reale. Questa formazione ti aiuterà a comprendere MySQL in profondità e ti aiuterà a ottenere la padronanza dell'argomento.

Hai domande per noi? Si prega di menzionarlo nella sezione commenti di questo articolo 'Procedure in SQL' e ti risponderemo.