Partager via


Créer une procédure stockée

Cette rubrique explique comment créer une procédure stockée Transact-SQL à l'aide de SQL Server Management Studio et de l'instruction Transact-SQL CREATE PROCEDURE.

  • Avant de commencer : Autorisations

  • Pour créer une procédure, utilisez : SQL Server Management Studio, Transact-SQL

Autorisations

Nécessite l'autorisation CREATE PROCEDURE dans la base de données et l'autorisation ALTER sur le schéma dans lequel la procédure est créée.

Comment créer une procédure stockée

Vous pouvez utiliser l'un des éléments suivants :

  • SQL Server Management Studio

  • Transact-SQL

Utilisation de SQL Server Management Studio

Pour créer une procédure dans l'Explorateur d'objets

  1. Dans l'Explorateur d'objets, connectez-vous à une instance du Moteur de base de données et développez-la.

  2. Développez Bases de données, la base de données AdventureWorks2012 , puis Programmabilité.

  3. Cliquez avec le bouton droit sur Procédures stockées, puis cliquez sur Nouvelle procédure stockée.

  4. Dans le menu Requête, cliquez sur Spécifier les valeurs des paramètres du modèle.

  5. Dans la boîte de dialogue Spécifier les valeurs des paramètres du modèle, entrez les valeurs suivantes pour les paramètres affichés.

    Paramètre

    Valeur

    Auteur

    Your name

    Date de création

    Today's date

    Description

    Retourne des données sur les employés.

    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. Cliquez sur OK.

  7. Dans l'Éditeur de requête, remplacez l'instruction SELECT par l'instruction suivante :

    SELECT FirstName, LastName, Department
    FROM HumanResources.vEmployeeDepartmentHistory
    WHERE FirstName = @FirstName AND LastName = @LastName
        AND EndDate IS NULL;
    
  8. Pour tester la syntaxe, dans le menu Requête, cliquez sur Analyser. Si un message d'erreur est retourné, comparez les instructions avec les informations ci-dessus et apportez les corrections nécessaires.

  9. Pour créer la procédure, dans le menu Requête, cliquez sur Exécuter. La procédure est créée en tant qu'objet dans la base de données.

  10. Pour afficher la procédure répertoriée dans l'Explorateur d'objets, cliquez avec le bouton droit sur Procédures stockées et sélectionnez Actualiser.

  11. Pour exécuter la procédure, dans l'Explorateur d'objets, cliquez avec le bouton droit sur le nom de la procédure stockée HumanResources.uspGetEmployeesTest et sélectionnez Exécuter la procédure stockée.

  12. Dans la fenêtre Exécuter la procédure, entrez Margheim comme valeur pour le paramètre @LastName et entrez la valeur Diane comme valeur pour le paramètre @FirstName.

AttentionAttention

Validez toutes les entrées utilisateur. Ne concaténez pas les entrées utilisateur avant de les avoir validées. N'exécutez jamais une commande élaborée à partir d'une entrée utilisateur non validée.

[Haut de la page]

Utilisation de Transact-SQL

Pour créer une procédure dans l'Éditeur de requête

  1. Dans l'Explorateur d'objets, connectez-vous à une instance du Moteur de base de données.

  2. Dans le menu Fichier, cliquez sur Nouvelle requête.

  3. Copiez et collez l'exemple suivant dans la fenêtre de requête, puis cliquez sur Exécuter. Cet exemple crée la même procédure stockée que ci-dessus à l'aide d'un nom de procédure différent.

    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. Pour exécuter la procédure, copiez et collez l'exemple suivant dans une nouvelle fenêtre de requête, puis cliquez sur Exécuter. Notez que différentes méthodes de spécification des valeurs de paramètre sont affichées.

    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
    

[Haut]

Voir aussi

Référence

CREATE PROCEDURE (Transact-SQL)