Procedure memorizzate: come funzioni per il tuo SQL.
Una stored procedure è un batch di istruzioni SQL create e archiviate in un database. È possibile riutilizzare una stored procedure più e più volte.
Una stored procedure può accettare parametri, eseguire una query e restituire risultati. Molti utenti possono chiamare una procedura memorizzata e diverse applicazioni possono chiamarla con valori di parametro diversi.
Quali sono i vantaggi dell'utilizzo delle stored procedure?
Oltre a consentire a più utenti e applicazioni di riutilizzarla, una stored procedure presenta altri vantaggi.
- È facile da modificare. È possibile modificare una stored procedure quando necessario e questi aggiornamenti verranno applicati a tutti gli utenti. Inoltre, non è necessario ridistribuire l'applicazione quando si modifica la stored procedure.
- Riduce il traffico di rete perché il server passa solo il nome della procedura sulla rete e non l'intera query.
- Migliora la sicurezza del database poiché gli utenti non hanno accesso diretto alle tabelle. Per apportare modifiche, devono chiamare la stored procedure. Ciò impedisce gli attacchi SQL injection poiché gli utenti non possono scrivere direttamente nelle tabelle sottostanti.
Un motore di database come MySQL ha molte funzionalità di sicurezza dovresti esserne consapevole.
Sintassi della creazione di una stored procedure in SQL Server
La sintassi per la creazione di una stored procedure è la seguente:
CREAREPROCEDURA nome_procedura
COME
istruzione_sql
ANDARE;
Eseguire questo comando per eseguire la stored procedure.
EXEC nome_procedura;
Esempio di una semplice stored procedure in SQL Server
Di seguito è riportato un esempio di stored procedure che seleziona tutti gli articoli da un database di articoli.
CREAREPROCEDURA Tutti_Articoli
COME
SELEZIONARE * DA Articolo
ANDARE;
Questo è un semplice esempio, ma puoi fare molto di più con le stored procedure come accettare i parametri e aggiornare i record.
Come creare una stored procedure che accetti parametri
Ad esempio, modifica la stored procedure semplice in modo che accetti un numero come parametro e utilizzalo per restituire i post con un numero di visualizzazioni superiore al numero.
CREAREPROCEDURA Articoli_popolari(@views int)
COME
SELEZIONARE * DA Articolo
WHERE views_count >= @visualizzazioni_contare
ANDARE;
Utilizzare questo comando per eseguire la stored procedure con un parametro.
EXEC Articoli_Popolari 300;
La procedura restituisce gli articoli il cui numero di visualizzazioni è superiore a 300.
Impara SQL prima di utilizzare le stored procedure
Le stored procedure consentono di riutilizzare un gruppo di istruzioni SQL. Migliorano inoltre la sicurezza del database, riducono il traffico di rete e sono facili da modificare.
Imparare a conoscere le stored procedure è quindi importante, ma è necessario prima avere una solida conoscenza di SQL.