Condividi tramite


Creazione di una stored procedure

In questo argomento viene descritta la procedura per la creazione di una stored procedure Transact-SQL utilizzando SQL Server Management Studio e l'istruzione Transact-SQL CREATE PROCEDURE.

  • Prima di iniziare: Autorizzazioni

  • Per la creazione di una stored procedure utilizzando 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 utilizzare uno degli elementi seguenti:

  • SQL Server Management Studio

  • Transact-SQL

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 e quindi espandere tale istanza.

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

  3. Fare clic con il pulsante destro del mouse su Stored procedure e 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 valori seguenti per i parametri indicati.

    Parametro

    Valore

    Autore

    Your name

    Data di creazione

    Today's date

    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 query sostituire 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 selezionare 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 selezionare Esegui stored procedure.

  12. Nella finestra Esegui stored procedure, immettere Margheim come valore per il parametro @LastName e immettere Diane come valore per il parametro @FirstName.

Nota di attenzioneAttenzione

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.

[Inizio pagina]

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. Scegliere Nuova query dal menu File.

  3. Copiare l'esempio seguente e incollarlo 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
    

[Torna all'inizio]

Vedere anche

Riferimento

CREATE PROCEDURE (Transact-SQL)