Tutoriel SQL

ACCUEIL SQL Introduction SQL Syntaxe SQL Sélection SQL SQL Select Distinct SQL Où SQL et, ou, pas Tri SQL par Insertion SQL dans Valeurs nulles SQL Mise à jour SQL Supprimer SQL SQL Sélectionner Haut Min et Max SQL Nombre SQL, Moy, Somme J'aime SQL Caractères génériques SQL Entrée SQL SQL Entre Alias ​​SQL Jointures SQL Jointure interne SQL Jointure gauche SQL Jointure droite SQL Jointure complète SQL Auto-jointure SQL Union SQL Regrouper SQL par SQL ayant SQL existe SQL Tout, Tout SQL Sélectionner dans Insertion SQL dans la sélection Cas SQL Fonctions nulles SQL Procédures stockées SQL Commentaires SQL Opérateurs SQL

Base de données SQL

SQL Créer une base de données BD de suppression SQL Base de données de sauvegarde SQL Créer une table SQL Table de dépôt SQL Table de modification SQL Contraintes SQL SQL non nul SQL unique Clé primaire SQL Clé étrangère SQL Vérification SQL SQL par défaut Index SQL Incrément automatique SQL Dates SQL Vues SQL Injection SQL Hébergement SQL Types de données SQL

Références SQL

Mots clés SQL Fonctions MySQL Fonctions SQL Server Fonctions MS Access Référence rapide SQL

Exemples SQL

Exemples SQL Questionnaire SQL Exercices SQL Certificat SQL

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';