Creazione di una stored procedureCreate a Stored Procedure

Per il contenuto relativo alle versioni precedenti di SQL Server, vedere Creazione di una stored procedure.For content related to previous versions of SQL Server, see Create a Stored Procedure.

In questo argomento viene descritta la procedura per la creazione di una stored procedure Transact-SQLTransact-SQL utilizzando SQL Server Management StudioSQL Server Management Studio e l'istruzione Transact-SQLTransact-SQL CREATE PROCEDURE.This topic describes how to create a Transact-SQLTransact-SQL stored procedure by using SQL Server Management StudioSQL Server Management Studio and by using the Transact-SQLTransact-SQL CREATE PROCEDURE statement.

Autorizzazioni Permissions

È necessario disporre dell'autorizzazione CREATE PROCEDURE per il database e dell'autorizzazione ALTER per lo schema in cui la stored procedure viene creata.Requires CREATE PROCEDURE permission in the database and ALTER permission on the schema in which the procedure is being created.

Procedura: creazione di una stored procedure How to Create a Stored Procedure

È possibile usare uno dei seguenti elementi:You can use one of the following:

Utilizzo di SQL Server Management Studio Using SQL Server Management Studio

Per creare una stored procedure in Esplora oggettiTo create a procedure in Object Explorer

  1. In Esplora oggetticonnettersi a un'istanza del Motore di databaseDatabase Engine , quindi espanderla.In Object Explorer, connect to an instance of Motore di databaseDatabase Engine and then expand that instance.

  2. Espandere Database, il database AdventureWorks2012AdventureWorks2012 e quindi Programmabilità.Expand Databases, expand the AdventureWorks2012AdventureWorks2012 database, and then expand Programmability.

  3. Fare clic con il pulsante destro del mouse su Stored proceduree quindi scegliere Nuova stored procedure.Right-click Stored Procedures, and then click New Stored Procedure.

  4. Scegliere Imposta valori per parametri modello dal menu Query.On the Query menu, click Specify Values for Template Parameters.

  5. Nella finestra di dialogo Imposta valori per parametri modello immettere i seguenti valori per i parametri indicati.In the Specify Values for Template Parameters dialog box, enter the following values for the parameters shown.

    ParametroParameter ValoreValue
    AutoreAuthor Nome dell'utenteYour name
    Data di creazioneCreate Date Data correnteToday's date
    DescrizioneDescription Restituisce i dati dei dipendenti.Returns employee data.
    Procedure_nameProcedure_name HumanResources.uspGetEmployeesTestHumanResources.uspGetEmployeesTest
    @Param1 @LastName
    @Datatype_For_Param1 nvarchar(50)nvarchar(50)
    Default_Value_For_Param1Default_Value_For_Param1 NULLNULL
    @Param2 @FirstName
    @Datatype_For_Param2 nvarchar(50)nvarchar(50)
    Default_Value_For_Param2Default_Value_For_Param2 NULLNULL
  6. Scegliere OK.Click OK.

  7. Nell' editor di querysostituire l'istruzione SELECT con l'istruzione seguente:In the Query Editor, replace the SELECT statement with the following statement:

    SELECT FirstName, LastName, Department  
    FROM HumanResources.vEmployeeDepartmentHistory  
    WHERE FirstName = @FirstName AND LastName = @LastName  
        AND EndDate IS NULL;  
    
  8. Per controllare la sintassi, scegliere Analizza dal menu Query.To test the syntax, on the Query menu, click Parse. Se viene restituito un messaggio di errore, confrontare le istruzioni con le informazioni precedenti e apportare le modifiche necessarie.If an error message is returned, compare the statements with the information above and correct as needed.

  9. Per creare la stored procedure, nel menu Query fare clic su Esegui.To create the procedure, from the Query menu, click Execute. La stored procedure viene creata come un oggetto nel database.The procedure is created as an object in the database.

  10. Per visualizzare la stored procedure nell'elenco di Esplora oggetti, fare clic con il pulsante destro del mouse su Stored procedure e scegliere Aggiorna.To see the procedure listed in Object Explorer, right-click Stored Procedures and select Refresh.

  11. 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.To run the procedure, in Object Explorer, right-click the stored procedure name HumanResources.uspGetEmployeesTest and select Execute Stored Procedure.

  12. Nella finestra Esegui procedura immettere Margheim come valore per il parametro @LastName e Diane come valore per il parametro @FirstName.</span><span class="sxs-lookup">In the Execute Procedure window, enter Margheim as the value for the parameter @LastName and enter the value Diane as the value for the parameter @FirstName.</span></span>

Avviso

Convalidare sempre input di tutti gli utenti.Validate all user input. Non concatenare l'input dell'utente prima di averlo convalidato.Do not concatenate user input before you validate it. Non eseguire mai un comando creato dall'input dell'utente non convalidato.Never execute a command constructed from unvalidated user input.

Utilizzo di Transact-SQL Using Transact-SQL

Per creare una stored procedure nell'editor di queryTo create a procedure in Query Editor

  1. In Esplora oggetticonnettersi a un'istanza del Motore di databaseDatabase Engine.In Object Explorer, connect to an instance of Motore di databaseDatabase Engine.

  2. Nel menu File , fare clic su Nuova query.From the File menu, click New Query.

  3. Copiare e incollare l'esempio seguente nella finestra Query, quindi fare clic su Esegui.Copy and paste the following example into the query window and click Execute. In questo esempio viene creata la stessa stored procedure precedente utilizzando un nome diverso.This example creates the same stored procedure as above using a different procedure name.

    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  
    
  4. Per eseguire la stored procedure, copiare l'esempio seguente e incollarlo in una nuova finestra Query, quindi fare clic su Esegui.To run the procedure, copy and paste the following example into a new query window and click Execute. Notare che vengono mostrati metodi diversi per specificare i valori del parametro.Notice that different methods of specifying the parameter values are shown.

    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  
    

Vedere ancheSee Also

CREATE PROCEDURE (Transact-SQL)CREATE PROCEDURE (Transact-SQL)