Una Stored Procedure è la procedura di un database in grado di eseguire operazioni complesse all'interno del database stesso. E’ un programma scritto SQL o in altri linguaggi derivanti da SQL, come ad esempio ASP, ASP.NET, Visual Basic o altro.

Secondo le caratteristiche può essere distinta in:


- Funzioni (accettano parametri in entrata/uscita e restituiscono un singolo valore);

- Procedure (accettano parametri in entrata/uscita ma non restituiscono alcun valore);

- Trigger (che sono scatenati da aventi).


I principali vantaggi che derivano dall'utilizzo delle Stored procedure sono i seguenti:

Evitare al client di riscrivere query complesse. La procedura viene compilata e archiviata all'interno del database stesso, garantendo un miglioramento delle prestazioni  e evitando di scambiare un numero eccessivo di informazioni fra Client e Server.

Essendo scritte in versioni proprietarie di SQL e trattandosi quindi di veri e propri linguaggi strutturali è possibile eseguire operazioni complesse che non sarebbero realizzabili utilizzando unicamente query SQL.

Mantenere delle librerie di funzioni, utilizzate comunemente all'interno del database stesso.

Eseguire le operazioni richiamando una diversa procedura senza conoscere la struttura di un database o avendone una conoscenza limitata ( questo permette all'amministratore di un database il vantaggio di concedere solo il permesso di esecuzione delle stored procedure, evitando di assegnare permessi di modifica e/o di lettura).

Inoltre, comporta un notevole risparmio delle risorse di rete, risparmio direttamente proporzionale alla quantità di codice contenuto nelle stored procedure e alla frequenza di invocazione dello stesso.