Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

Come creare una stored procedure in SQL Server

Per creare una stored procedure in SQL Server:

  1. Fai clic su Nuova query sulla barra degli strumenti di SSMS
  2. Digita (o incolla) una PROCEDURA DI CREAZIONE dichiarazione (esempio sotto)
  3. Fai clic su Esegui pulsante sulla barra degli strumenti

Ciò aggiungerà la stored procedure al database. Puoi vederlo sotto il nodo Stored Procedure in Esplora oggetti.

Di seguito sono riportati screenshot e maggiori dettagli per i passaggi precedenti.

Nuova query

Fai clic su Nuova query nella barra degli strumenti SSMS:

La dichiarazione CREATE PROCEDURE

Digita un CREA PROCEDURA dichiarazione.

Esempio

Ecco un esempio di PROCEDURA DI CREAZIONE dichiarazione:

CREATE PROCEDURE LatestTasks @Count int AS
SET ROWCOUNT @Count
SELECT TaskName AS LatestTasks, DateCreated
FROM Tasks
ORDER BY DateCreated DESC

Questo script crea una procedura memorizzata denominata LatestTasks che accetta un parametro chiamato Count.

Come scrivere una dichiarazione CREATE PROCEDURE

Inizi lo script con CREATE PROCEDURE [nome_procedura] AS.

Ad esempio, per creare una stored procedure denominata GetCustomer, iniziare con quanto segue:

CREATE PROCEDURE GetCustomer AS

Seguilo con il codice SQL per la stored procedure, proprio come nell'esempio sopra.

Se la procedura memorizzata deve accettare parametri, aggiungere questi e il relativo tipo di dati alla prima riga. Prefissare il nome del parametro con @ simbolo.

Ad esempio per aggiungere un parametro chiamato CustomerId con un tipo di dati Intero:

CREATE PROCEDURE GetCustomer @CustomerId int AS

Esegui la dichiarazione

Fai clic su Esegui pulsante sulla barra degli strumenti per eseguire l'istruzione SQL che crea la procedura memorizzata.

In alternativa, premi F5 tasto sulla tastiera.

Ora dovresti vedere la procedura memorizzata in Esplora oggetti.

Esegui la procedura archiviata

Per eseguire o richiamare la stored procedure, utilizza il EXECUTE o il EXEC comando (entrambi fanno la stessa cosa).

Quindi potrebbe essere o questo:

EXECUTE GetCustomer @CustomerId = 7

o questo:

EXEC GetCustomer @CustomerId = 7

Quanto sopra passa un parametro chiamato CustomerId con un valore di 7. La modifica di questo valore elaborerebbe un cliente diverso.

La schermata seguente mostra l'effetto del passaggio di un parametro diverso. Due EXEC le istruzioni vengono eseguite sulla stessa procedura memorizzata, ma ognuna passa un valore di parametro diverso:

Esecuzione di una stored procedure dalla GUI

Puoi chiamare una stored procedure direttamente da Esplora oggetti nella GUI di SSMS.

Basta fare clic con il pulsante destro del mouse sulla procedura memorizzata e selezionare Esegui stored procedure... :

Viene visualizzata la seguente finestra di dialogo "Esegui procedura", in cui puoi fornire valori per tutti i parametri che verranno utilizzati dalla procedura memorizzata: