Esercitazione SQL

SQL HOME Introduzione SQL Sintassi SQL Seleziona SQL SQL Seleziona distinto SQL dove SQL e, o, no Ordina SQL per Inserisci SQL in Valori nulli SQL Aggiornamento SQL Elimina SQL SQL Seleziona in alto SQL Min e Max Conteggio SQL, media, somma Mi piace SQL Caratteri jolly SQL SQL In SQL tra Alias ​​SQL Join SQL Join interno SQL Join sinistro SQL SQL Right Join SQL Full Join SQL Self Join Unione SQL Raggruppamento SQL per SQL Avere SQL esiste SQL Qualsiasi, Tutti SQL Seleziona in Inserisci SQL in Seleziona Caso SQL Funzioni SQL Null Stored procedure SQL Commenti SQL Operatori SQL

Database SQL

SQL Crea DB SQL Drop DB DB di backup SQL SQL Crea tabella Tabella di rilascio SQL SQL Alter tabella Vincoli SQL SQL non nullo SQL unico Chiave primaria SQL Chiave esterna SQL Controllo SQL SQL predefinito Indice SQL Incremento automatico SQL Date SQL Viste SQL SQL Injection Hosting SQL Tipi di dati SQL

Riferimenti SQL

Parole chiave SQL Funzioni MySQL Funzioni di SQL Server Funzioni di accesso MS Riferimento rapido SQL

Esempi SQL

Esempi SQL Quiz SQL Esercizi SQL Certificato SQL

Stored procedure SQL per SQL Server


Che cos'è una procedura archiviata?

Una stored procedure è un codice SQL preparato che è possibile salvare, in modo che il codice possa essere riutilizzato più e più volte.

Quindi, se hai una query SQL che scrivi più e più volte, salvala come procedura memorizzata e quindi chiamala per eseguirla.

È inoltre possibile passare parametri a una stored procedure, in modo che la stored procedure possa agire in base ai valori dei parametri passati.

Sintassi della procedura memorizzata

CREATE PROCEDURE procedure_name
AS
sql_statement
GO;

Eseguire una procedura archiviata

EXEC procedure_name;

Database dimostrativo

Di seguito è riportata una selezione dalla tabella "Clienti" nel database di esempio Northwind:

CustomerID CustomerName ContactName Address City PostalCode Country
1

Alfreds Futterkiste Maria Anders Obere Str. 57 Berlin 12209 Germany
2 Ana Trujillo Emparedados y helados Ana Trujillo Avda. de la Constitución 2222 México D.F. 05021 Mexico
3 Antonio Moreno Taquería Antonio Moreno Mataderos 2312 México D.F. 05023 Mexico
4

Around the Horn Thomas Hardy 120 Hanover Sq. London WA1 1DP UK
5 Berglunds snabbköp Christina Berglund Berguvsvägen 8 Luleå S-958 22 Sweden

Esempio di procedura memorizzata

La seguente istruzione SQL crea una procedura memorizzata denominata "SelectAllCustomers" che seleziona tutti i record dalla tabella "Clienti":

Esempio

CREATE PROCEDURE SelectAllCustomers
AS
SELECT * FROM Customers
GO;

Eseguire la procedura memorizzata sopra come segue:

Esempio

EXEC SelectAllCustomers;


Stored procedure con un parametro

La seguente istruzione SQL crea una stored procedure che seleziona i clienti da una determinata città dalla tabella "Clienti":

Esempio

CREATE PROCEDURE SelectAllCustomers @City nvarchar(30)
AS
SELECT * FROM Customers WHERE City = @City
GO;

Eseguire la procedura memorizzata sopra come segue:

Esempio

EXEC SelectAllCustomers @City = 'London';

Stored procedure con più parametri

L'impostazione di più parametri è molto semplice. Elenca semplicemente ogni parametro e il tipo di dati separati da una virgola come mostrato di seguito.

La seguente istruzione SQL crea una procedura memorizzata che seleziona i clienti da una città particolare con un codice postale particolare dalla tabella "Clienti":

Esempio

CREATE PROCEDURE SelectAllCustomers @City nvarchar(30), @PostalCode nvarchar(10)
AS
SELECT * FROM Customers WHERE City = @City AND PostalCode = @PostalCode
GO;

Eseguire la procedura memorizzata sopra come segue:

Esempio

EXEC SelectAllCustomers @City = 'London', @PostalCode = 'WA1 1DP';