par Alex Glauberzon et Martin Wiseman - Mis en ligne le 28/06/2006 - Publié en Avril 2005
Prenez le temps de repenser à la dernière fois où vous avez dû mettre à jour une table contenant un grand nombre de colonnes. Imaginez maintenant que cette table est en cours de construction et que vous êtes chargé d’ajouter ou de supprimer des colonnes, ou encore de changer des spécifications de données de colonnes. Naturellement, cette situation se produit alors que votre emploi du temps est des plus serrés et que vous avez d’autres problèmes plus importants à résoudre. Quel casse-tête ! En fait, vous avez la possibilité d’automatiser une solution à ce problème en combinant les possibilités élémentaires des procédures stockées et le dictionnaire de données sous-jacent de SQL Server.Une procédure stockée est un groupe d’instructions T-SQL compilées dans un plan d’exécution. L’utilisation des procédures stockées procure un certain nombre d’avantages. Premièrement, elles permettent à un développeur de réutiliser efficacement le code. Une fois que vous avez créé une procédure stockée et que vous l’avez stockée dans la base de données, toute personne qui peut y accéder est en mesure de l’appeler à volonté, de sorte que vous n’avez pas besoin de réécrire constamment le même code. Le développeur peut ainsi utiliser de manière plus productive le temps dont il dispose. Deuxièmement, les procédures stockées accélèrent l’exécution des requêtes. Dans la mesure où ce type d’élément est précompilé et où SQL Server réutilise le plan d’exécution résultant, cela se traduit par des économies substantielles en termes de temps et d’utilisation globale du processeur. Si une application appelle constamment les mêmes procédures stockées, elle conserve ces dernières en mémoire, d’où un gain de temps supplémentaire, en particulier par rapport au temps nécessaire pour appeler à plusieurs reprises le code T-SQL équivalent. Troisièmement, le recours aux procédures stockées réduit le trafic réseau global. Au lieu de transmettre de nombreuses lignes de code T-SQL, SQL Server transmet uniquement le nom de la procédure appelée, ce qui optimise l’utilisation de la bande passante réseau. Enfin, les procédures stockées améliorent les contrôles de sécurité. Même si les utilisateurs n’ont pas le droit d’accéder à des tables spécifiques, vous pouvez leur attribuer l’autorisation d’exécuter une procédure stockée qui référence les tables en question. Cette méthode de limitation des accès aux tables peut soulager le travail de l’administrateur.
Même si les avantages de l’utilisation des procédures stockées sont appréciables, vous devez malgré tout consacrer le temps et l’énergie nécessaires à leur création. L’écriture de procédures stockées pour les opérations UPDATE, INSERT et DELETE prend du temps et le processus fournit pas mal d’occasions d’introduire des erreurs. Par exemple, une procédure stockée type pour une opération UPDATE contient plusieurs parties :
une instruction CREATE PROCEDURE; une liste de paramètres, qui peut être longue en fonction du nombre de colonnes dans la table ; une instruction UPDATE ; une liste SET, qui identifie la liste de colonnes mises à jour par la procédure et une clause WHERE énumérant les critères spécifiant les lignes mises à jour. De même, une procédure stockée servant à introduire des lignes dans une table comporte les parties suivantes : une instruction
CREATE PROCEDURE ;
une liste de paramètres ;
une instruction INSERT;
une liste de colonnes qui identifie les colonnes insérées par la procédure et une clause VALUES énumérant les critères qui spécifient les lignes insérées. La création d’une procédure stockée de suppression de lignes d’une table est relativement simple : elle requiert uniquement des critères de sélection en tant que paramètres et une clause WHERE afin de limiter le nombr
L’automatisation à la loupe
La vue de schéma d’informations d’une base de données contient des métadonnées pour tous les objets de données de la base de données en question. Dans SQL Server 7.0, Microsoft a ajouté les vues de schéma d’informations à la liste des objets système et a ainsi rendu SQL Server conforme à la norme ANSI SQL-92. La figure 1 présente une liste des vues en question de SQL Server 7.0. Ces vues, disponibles uniquement dans la base de données master, sont celles auxquelles nous allons faire référence dans cet article. La vue COLUMNS contient des informations sur les colonnes des tables et les types de données. Les vues CONSTRAINT_ COLUMN_USAGE et TABLE_CONSTRAINTS comportent des informations sur les contraintes, le type de contrainte et les colonnes concernées par une contrainte spécifique. Celle qui nous intéresse est une contrainte de clé primaire. Les colonnes de contrainte de clé primaire requièrent la clause WHERE pour les procédures stockées UPDATE et DELETE.
Dans le programme du listing 1 utilisé pour créer les procédures stockées, nous prenons deux hypothèses importantes.
Premièrement, nous définissons le nom de la procédure sous la forme p_
Téléchargez cette ressource
Guide de Threat Intelligence contextuelle
Ce guide facilitera l’adoption d’une Threat Intelligence - renseignement sur les cybermenaces, cyberintelligence - adaptée au "contexte", il fournit des indicateurs de performance clés (KPI) pour progresser d' une posture défensive vers une approche centrée sur l’anticipation stratégique
Les articles les plus consultés
- Stockage autonome, Evolutivité & Gestion intelligente, Pure Storage offre de nouvelles perspectives aux entreprises
- Dark Web : où sont vos données dérobées ?
- 10 grandes tendances Business Intelligence
- ActiveViam fait travailler les data scientists et les décideurs métiers ensemble
- La blockchain en pratique
Les plus consultés sur iTPro.fr
- Ready For IT 2026 : IA industrialisée, deepfakes et Prix Start-up au cœur des enjeux
- La chaîne d’approvisionnement, point de rupture récurent du SI
- Ready For IT 2026 : quand l’accélération de l’innovation redessine les priorités des décideurs IT
- Microsoft Build 2026 : industrialiser l’IA agentique dans les environnements d’entreprise
Articles les + lus
Souveraineté des données : cessons de traiter le symptôme, attaquons-nous aux causes
IA générative en Europe : une adoption massive, mais une gouvernance toujours en retard
Golden records : le socle oublié des projets IA
Avec les Smart Data, les entreprises mènent la danse de l’observabilité moderne
ADI, l’infrastructure de données de Scality pensée pour l’ère de l’IA et de la souveraineté
À la une de la chaîne Data
- Souveraineté des données : cessons de traiter le symptôme, attaquons-nous aux causes
- IA générative en Europe : une adoption massive, mais une gouvernance toujours en retard
- Golden records : le socle oublié des projets IA
- Avec les Smart Data, les entreprises mènent la danse de l’observabilité moderne
- ADI, l’infrastructure de données de Scality pensée pour l’ère de l’IA et de la souveraineté
