Mis en ligne le 13/04/2005 - Publié en Juin 2004
Le plein de conseils...
Le curseur réutilisable
Je souhaite fréquemment effectuer des opérations telles que
l’actualisation de vues, le contrôle des données de tables, la
création d’instructions SQL, la reconstruction d’index ou
encore la modification de la structure de table pour de
nombreux objets simultanément. Afin d’effectuer ce type
d’opération en bloc, je conserve à portée de main un curseur
SQL servant de modèle et je le modifie en fonction des besoins.
Le script du listing 1 ouvre un curseur sur la table spécifiée
dans l’instruction SELECT (dans notre exemple, la table
sysobjects), puis effectue une boucle sur chaque enregistrement
du curseur afin d’affecter la variable @OjbectName au
contenu du champ de nom courant. Le script utilise cette variable
pour créer une instruction EXEC qui exécutera l’opération
souhaitée. Notre exemple actualise toutes les vues détenues
par db_owner.
En changeant l’instruction SELECT dans le curseur, vous
pouvez effectuer des opérations sur n’importe quel objet de
base de données, utiliser une clause WHERE pour limiter
l’ensemble de résultats retourné, voire ajouter une clause
ORDER BY. Il est également possible de modifier la portion
EXEC du curseur afin de réaliser un large éventail d’opérations
sur les objets retournés par l’instruction SELECT. Par
exemple, le listing 2 montre comment modifier le curseur
afin d’ajouter un champ Timestamp à chaque table de la base
de données. Si vous souhaitez limiter l’ajout à 30 tables
seulement, il suffit de changer l’instruction SELECT afin de
retourner uniquement les tables concernées. En remplaçant
l’instruction EXEC par PRINT, vous pouvez générer aisément
un script T-SQL et l’enregistrer en vue d’une exécution
ultérieure. Avec un peu d’imagination, cette technique de
curseur peut servir à exécuter de nombreuses opérations qui
vous feront gagner du temps.
Téléchargez cette ressource
Guide inmac wstore pour l’équipement IT de l’entreprise
Découvrez les dernières tendances et solutions IT autour des univers de Poste de travail, Affichage et Collaboration, Impression et Infrastructure, et notre dossier Green IT sur les actions engagés par inmac wstore pour réduire son impact environnemental
Les articles les plus consultés
- Stockage autonome, Evolutivité & Gestion intelligente, Pure Storage offre de nouvelles perspectives aux entreprises
- 10 grandes tendances Business Intelligence
- Intelligence Artificielle : DeepKube sécurise en profondeur les données des entreprises
- Les projets d’intégration augmentent la charge de travail des services IT
- 9 défis de transformation digitale !
Les plus consultés sur iTPro.fr
- Facturation électronique : les craintes des entreprises liées à la réforme
- Cyber-assurances, priorité ou faux remède pour les TPE et PME ?
- Success Stories : 3 histoires et 3 Intelligences Artificielles
- NIS2: cauchemar des décideurs européens pour la conformité
- Fossé entre exigences professionnelles et compétences