Condividi tramite


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.

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

  1. In Esplora oggetti connettersi a un'istanza del motore di database ed espanderla.

  2. Espandere Database, espandere il database AdventureWorks2012 e quindi espandere Programmabilità.

  3. Fare clic con il pulsante destro del mouse su Stored proceduree quindi scegliere Nuova stored procedure.

  4. Scegliere Imposta valori per parametri modello dal menu Query.

  5. 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
  6. Fare clic su OK.

  7. 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;  
    
  8. 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.

  9. Per creare la stored procedure, nel menu Query fare clic su Esegui. La stored procedure viene creata come un oggetto nel 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.

  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.

  12. 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

  1. In Esplora oggetti connettersi a un'istanza del motore di database.

  2. Nel menu File , fare clic su Nuova query.

  3. 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
    
  4. 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
    

Vedi anche

CREATE PROCEDURE (Transact-SQL)