sono gruppi di istruzioni SQL compattati in un modulo e memorizzati nella cache per un successivo utilizzo
le procedure che scriviamo vengono salvate su una tabella di sistema del database sul quale stiamo lavorando dal nome syscomments

sintassi:
Use nome_database
Go le store procedure vengono eseguite in un batch

CREATE PROCEDURE nome_procedura ( @parametro1, @parametro2, ... ) AS creazione store procedure (deve essere la prima istruzione)
SELECT query SQL
...
...
WHERE
campo = @parametroX utilizzo uno o più parametri per la condizione della query
Go fine batch


parametro
il parametro consiste in una variabile che memorizza il valore passato nella esecuzione
( @nome_parametro1 tipo_dato, @nome_parametro1 tipo_dato, .... )


esempio: estraggo nome autore
Use pubs
Go /*inizio del batch SQL per la creazione della procedura*/

CREATE PROCEDURE dbo.p_sel_autore ( @au_id VARCHAR(11) = '' ) AS
SELECT
au_lname + ‘ ‘ + au_fname AS Nome
FROM
authors
WHERE
au_id = @au_id
Go /*fine del batch SQL per la creazione della procedura*/