Creazione di una stored procedure
Questo argomento descrive come creare un stored procedure Transact-SQL usando SQL Server Management Studio e l'istruzione Transact-SQL CREATE PROCEDURE.
Prima di iniziare: Autorizzazioni
Per creare una procedura usando: SQL Server Management Studio, Transact-SQL
Autorizzazioni
È necessario disporre dell'autorizzazione CREATE PROCEDURE per il database e dell'autorizzazione ALTER per lo schema in cui la stored procedure viene creata.
Procedura: creazione di una stored procedure
È possibile usare uno dei seguenti elementi:
Utilizzo di SQL Server Management Studio
Per creare una stored procedure in Esplora oggetti
In Esplora oggetti connettersi a un'istanza del motore di database ed espanderla.
Espandere Database, espandere il database AdventureWorks2012 e quindi espandere Programmabilità.
Fare clic con il pulsante destro del mouse su Stored proceduree quindi scegliere Nuova stored procedure.
Scegliere Imposta valori per parametri modello dal menu Query.
Nella finestra di dialogo Imposta valori per parametri modello immettere i seguenti valori per i parametri indicati.
Parametro Valore Autore Nome dell'utente Data di creazione Data odierna Descrizione Restituisce i dati dei dipendenti. Procedure_name HumanResources.uspGetEmployeesTest @Param1 @LastName @Datatype_For_Param1 nvarchar
(50)Default_Value_For_Param1 NULL @Param2 @FirstName @Datatype_For_Param2 nvarchar
(50)Default_Value_For_Param2 NULL Fare clic su OK.
Nell' editor di querysostituire l'istruzione SELECT con l'istruzione seguente:
SELECT FirstName, LastName, Department FROM HumanResources.vEmployeeDepartmentHistory WHERE FirstName = @FirstName AND LastName = @LastName AND EndDate IS NULL;
Per controllare la sintassi, scegliere Analizza dal menu Query. Se viene restituito un messaggio di errore, confrontare le istruzioni con le informazioni precedenti e apportare le modifiche necessarie.
Per creare la stored procedure, nel menu Query fare clic su Esegui. La stored procedure viene creata come un oggetto nel database.
Per visualizzare la stored procedure nell'elenco di Esplora oggetti, fare clic con il pulsante destro del mouse su Stored procedure e scegliere Aggiorna.
Per eseguire la stored procedure in Esplora oggetti, fare clic con il pulsante destro del mouse sul nome della stored procedure HumanResources.uspGetEmployeesTest e scegliere Esegui stored procedure.
Nella finestra Esegui procedura immettere Margheim come valore per il parametro @LastName e Diane come valore per il parametro @FirstName.
Avviso
Convalidare sempre input di tutti gli utenti. Non concatenare l'input dell'utente prima di averlo convalidato. Non eseguire mai un comando creato dall'input dell'utente non convalidato.
Utilizzo di Transact-SQL
Per creare una stored procedure nell'editor di query
In Esplora oggetti connettersi a un'istanza del motore di database.
Nel menu File , fare clic su Nuova query.
Copiare e incollare l'esempio seguente nella finestra Query, quindi fare clic su Esegui. In questo esempio viene creata la stessa stored procedure precedente utilizzando un nome diverso.
USE AdventureWorks2012; GO CREATE PROCEDURE HumanResources.uspGetEmployeesTest2 @LastName nvarchar(50), @FirstName nvarchar(50) AS SET NOCOUNT ON; SELECT FirstName, LastName, Department FROM HumanResources.vEmployeeDepartmentHistory WHERE FirstName = @FirstName AND LastName = @LastName AND EndDate IS NULL; GO
Per eseguire la stored procedure, copiare l'esempio seguente e incollarlo in una nuova finestra Query, quindi fare clic su Esegui. Notare che vengono mostrati metodi diversi per specificare i valori del parametro.
EXECUTE HumanResources.uspGetEmployeesTest2 N'Ackerman', N'Pilar'; -- Or EXEC HumanResources.uspGetEmployeesTest2 @LastName = N'Ackerman', @FirstName = N'Pilar'; GO -- Or EXECUTE HumanResources.uspGetEmployeesTest2 @FirstName = N'Pilar', @LastName = N'Ackerman'; GO