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
Dans l'Explorateur d'objets, connectez-vous à une instance du Moteur de base de données et développez-la.
Développez Bases de données, la base de données AdventureWorks2012 , puis Programmabilité.
Cliquez avec le bouton droit sur Procédures stockées, puis cliquez sur Nouvelle procédure stockée.
Dans le menu Requête, cliquez sur Spécifier les valeurs des paramètres du modèle.
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
Cliquez sur OK.
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;
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.
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.
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.
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.
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.
Attention |
---|
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
Dans l'Explorateur d'objets, connectez-vous à une instance du Moteur de base de données.
Dans le menu Fichier, cliquez sur Nouvelle requête.
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
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]