Che cos'è la procedura in SQL

Gli sviluppatori possono sfruttare la potenza di SQL con istruzioni procedurali incorporate in Pl / SQL, poiché Pl / SQL è un linguaggio strutturato a blocchi. Una procedura memorizzata non è altro che una raccolta di istruzioni SQL dichiarative. Possiamo pensare a una procedura come una funzione o un metodo. Trigger, altre procedure o applicazioni su Java, PHP, ecc. Possono essere utilizzati per richiamare una procedura. Le istruzioni di blocco vengono passate al motore Oracle tutte in una volta in modo da poter avere la velocità di elaborazione elevata e ridurre il traffico.

Una procedura memorizzata è proprio come un blocco di codice che possiamo salvare e riutilizzare ancora e ancora. Se abbiamo una query SQL che stiamo usando più volte, quindi invece di riscriverla di nuovo possiamo salvarla come procedura memorizzata, quindi dobbiamo solo chiamarla e farla eseguire. Possiamo anche passare i parametri a una procedura memorizzata, quindi possiamo avere un output basato sul valore del parametro o sui valori passati.

Che cos'è SQL?

Structured Query Language (SQL) è talvolta pronunciato come singolo carattere "S-QL" o "see-Quel". Viene utilizzato per interrogare, manipolare o aggiornare i dati nel database relazionale. Viene utilizzato per inserire, aggiornare o eliminare i record in un database. Una delle funzionalità principali di SQL è la gestione di un database.

La sintassi della query SQL per recuperare tutti i record è la seguente:

seleziona * da table_name

Stored procedure in SQL

Che cos'è una procedura memorizzata? Una Stored Procedure è una raccolta di istruzioni SQL (Structured Query Language) a cui è assegnato un nome. Queste procedure memorizzate sono archiviate in un sistema di gestione di database relazionale (RDBMS). Quindi è possibile per più chiamate delle procedure riducendo esecuzioni multiple e con conseguente riduzione dei tempi di esecuzione. I dati possono essere modificati utilizzando le procedure e il principale vantaggio è che non sono legati a una particolare applicazione.

Le procedure memorizzate possono accettare parametri come input e possono restituire più valori come parametro di output. In SQL Server le stored procedure eseguono operazioni nel database e possono restituire un valore di stato a un'applicazione o a una procedura di chiamata batch. Le procedure definite dall'utente vengono create utilizzando il database definito dall'utente, ad eccezione di un database di sola lettura. Per questo, dobbiamo svilupparlo in Transact SQL (T-SQL). Tempdb è dove sono archiviate tutte le procedure temporanee. Esistono due tipi di procedure memorizzate

  1. Procedure locali
  2. Procedure globali

Le procedure locali sono quelle visibili solo all'utente che lo utilizza nella connessione, mentre le procedure globali sono visibili a tutti gli utenti nella stessa connessione.

Struttura della creazione della procedura

Qui, proprietario significa il nome del database e per passare il parametro è necessario aggiungere il simbolo '@'.

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

Confronto tra Stored procedure e Funzioni

Le procedure e le funzioni memorizzate possono essere utilizzate per ottenere la stessa funzionalità. Siamo in grado di personalizzare sia le procedure che le funzioni. La differenza tra loro è che le funzioni sono progettate per inviare il loro output a Transact SQL e le procedure memorizzate sono progettate per restituire l'output a una query e possono anche restituire l'output a T-SQL. Le applicazioni possono avere un input dalle stored procedure, mentre le funzioni definite dall'utente possono restituire variabili di tabella e non hanno il privilegio di modificare le impostazioni dell'ambiente né l'ambiente del sistema operativo.

Società di database

AziendaCategoriaArticolo
Tarlecommestibilibiscotti
Tarlecommestibilipatatine fritte
Lakmecosmeticirossetto
punta di pettodrogheriaSemi di lino
punta di pettocommestibilibiscotti
punta di pettodrogheriaolio
olecosmeticiSmalto per unghie
olecosmeticiSpazzola per capelli

Esempio di procedura memorizzata

La seguente istruzione SQL crea una procedura memorizzata che seleziona l'azienda

CREA PROCEDURA Selezionare AllExample

COME

SELEZIONA * DA società GO;

Eseguire la procedura memorizzata sopra come segue:

Eseguendo la procedura memorizzata sopra possiamo usare il seguente comando:

EXEC SelectAllExample;

Esempio di procedura memorizzata con un parametro

La seguente istruzione SQL crea una procedura memorizzata con un singolo parametro da passare che seleziona una società con un elemento come parametro

CREA PROCEDURA SelectAllExample @item nvarchar (30)

COME

SELEZIONA * DA azienda DOVE item = @item GO;

Eseguire la procedura memorizzata sopra come segue:

Per eseguire la procedura sopra memorizzata con un parametro possiamo usare il seguente comando: EXEC SelectAllExample item = “cookies”;

Esempio di procedura memorizzata con più parametri

La seguente istruzione SQL crea una procedura memorizzata con più parametri che selezionano la società con elemento e categoria come parametro

CREA PROCEDURA SelectAllExample @item nvarchar (30), @ category nvarchar (10)

COME SELEZIONARE * DA azienda DOVE elemento = @ articolo E categoria = @ categoria GO;

Eseguire la procedura memorizzata sopra come segue:

Per eseguire la procedura sopra memorizzata con più parametri possiamo usare il seguente comando dobbiamo passare i parametri multipli con una virgola separata: EXEC SelectAllExample item = "cookies", category = "edibles";

Vantaggi della procedura in SQL

  • Il miglioramento dell'applicazione può essere ottenuto mediante procedure. Se una procedura viene chiamata più volte in una singola applicazione, viene utilizzata la versione compilata della procedura.
  • Il traffico tra il database e l'applicazione può essere ridotto poiché le grandi dichiarazioni sono già inserite nel database e non è necessario inviarlo più e più volte.
  • Utilizzando le procedure è possibile ottenere la riusabilità del codice, in modo simile alle funzioni e ai metodi utilizzati in Java e in altri linguaggi di programmazione.

Svantaggi della procedura in SQL

  • Le Stored Procedures consumano molta memoria. È dovere dell'amministratore del database decidere quale limite superiore per quante procedure memorizzate sono possibili per una particolare applicazione.
  • Non è possibile eseguire il debug delle procedure memorizzate utilizzando MySQL.

Conclusione: cos'è la procedura in SQL

  • È possibile includere nei programmi memorizzati semplici istruzioni non selezionate tra cui istruzioni DML come Inserisci ed elimina, nonché istruzioni DDL come Drop e Create.
  • Il consumo di memoria è maggiore ma il tasso di ricerca può essere ridotto e la riusabilità del codice è vantaggiosa.
  • Le procedure memorizzate possono essere implementate con o senza variabili e possono essere eseguite passando i parametri se necessario.

Articoli consigliati

Questa è stata una guida a What is Procedure in SQL. Qui abbiamo discusso la struttura, esempi, vantaggi e svantaggi della procedura in SQL. Puoi anche dare un'occhiata ai seguenti articoli per saperne di più -

  1. Che cos'è SQL Server?
  2. Cos'è il database MySQL
  3. MySQL OpenSource
  4. Che cos'è SQL