Procédures stockées SQL pour SQL Server
Qu'est-ce qu'une procédure stockée ?
Une procédure stockée est un code SQL préparé que vous pouvez enregistrer, afin que le code puisse être réutilisé encore et encore.
Donc, si vous avez une requête SQL que vous écrivez encore et encore, enregistrez-la en tant que procédure stockée, puis appelez-la simplement pour l'exécuter.
Vous pouvez également transmettre des paramètres à une procédure stockée, afin que la procédure stockée puisse agir en fonction de la ou des valeurs de paramètre transmises.
Syntaxe de la procédure stockée
CREATE PROCEDURE procedure_name
AS
sql_statement
GO;
Exécuter une procédure stockée
EXEC procedure_name;
Base de données de démonstration
Vous trouverez ci-dessous une sélection de la table "Clients" dans l'exemple de base de données Northwind :
CustomerID | CustomerName | ContactName | Address | City | PostalCode | Country |
---|---|---|---|---|---|---|
1 |
Alfreds Futterkiste | Maria Anders | Obere Str. 57 | Berlin | 12209 | Germany |
2 | Ana Trujillo Emparedados y helados | Ana Trujillo | Avda. de la Constitución 2222 | México D.F. | 05021 | Mexico |
3 | Antonio Moreno Taquería | Antonio Moreno | Mataderos 2312 | México D.F. | 05023 | Mexico |
4 |
Around the Horn | Thomas Hardy | 120 Hanover Sq. | London | WA1 1DP | UK |
5 | Berglunds snabbköp | Christina Berglund | Berguvsvägen 8 | Luleå | S-958 22 | Sweden |
Exemple de procédure stockée
L'instruction SQL suivante crée une procédure stockée nommée "SelectAllCustomers" qui sélectionne tous les enregistrements de la table "Customers" :
Exemple
CREATE PROCEDURE SelectAllCustomers
AS
SELECT * FROM Customers
GO;
Exécutez la procédure stockée ci-dessus comme suit :
Exemple
EXEC SelectAllCustomers;
Procédure stockée avec un paramètre
L'instruction SQL suivante crée une procédure stockée qui sélectionne les clients d'une ville particulière dans la table "Clients" :
Exemple
CREATE PROCEDURE SelectAllCustomers
@City nvarchar(30)
AS
SELECT * FROM Customers WHERE
City = @City
GO;
Exécutez la procédure stockée ci-dessus comme suit :
Exemple
EXEC SelectAllCustomers @City = 'London';
Procédure stockée avec plusieurs paramètres
La configuration de plusieurs paramètres est très simple. Indiquez simplement chaque paramètre et le type de données séparés par une virgule, comme indiqué ci-dessous.
L'instruction SQL suivante crée une procédure stockée qui sélectionne les clients d'une ville particulière avec un code postal particulier dans la table « Clients » :
Exemple
CREATE PROCEDURE SelectAllCustomers
@City nvarchar(30), @PostalCode nvarchar(10)
AS
SELECT * FROM Customers WHERE
City = @City AND PostalCode = @PostalCode
GO;
Exécutez la procédure stockée ci-dessus comme suit :
Exemple
EXEC SelectAllCustomers @City = 'London', @PostalCode = 'WA1 1DP';