Voyons maintenant la logique dont la procédure stockée SQL invoquante a besoin pour traiter les données du jeu de résultats contenues dans une table temporaire globale. Dans la figure 5, la procédure staff_project appelle la procédure Get_Free_Employees pour trouver les employés actuellement libres pour un nouveau projet.
La
Logique nécessaire
procédure staff-project sait que le résultat de cette interrogation se trouvera dans une table temporaire globale appelée freepmp_results. Pour traiter la liste renvoyée des employés dans la table temporaire, l’instruction For est utilisée pour ouvrir un curseur pour la table temporaire. A noter que le nom de la table temporaire globale doit être qualifié avec SESSION afin que DB2 puisse trouver la table temporaire globale déclarée renvoyée à partir de l’invocation de la procédure stockée Get_Free_Employees.
Si la procédure staff_project est appelée par deux connexions (ou jobs) de bases de données différentes simultanément, chaque connexion aura alors sa propre instance unique de cette table temporaire globale pour passer la liste des employés libres.
S’il existe certains programmes non SQL qui doivent accéder à ces données employé « libre » dans la table temporaire globale, des requêtes de lecture et d’écriture natives normales peuvent aussi être appliquées, parce qu’une table temporaire globale est considérée comme un objet table DB2 ordinaire.
Les déclencheurs SQL utilisaient le même langage procédural que le langage de procédure SQL. Ils souffrent donc de la même restriction : l’incapacité de traiter un jeu de résultats. Bien que les déclencheurs SQL puissent aussi utiliser cette technique de table temporaire globale, une étape de préparation supplémentaire est nécessaire. Quand un déclencheur SQL est créé, le standard SQL Server exige qu’existent tous les objets référencés par le déclencheur. De sorte que, si la table temporaire globale freemp_results n’existe pas dans le même job ou la même connexion qui tente de créer le déclencheur suivant, cette création échouera.
Pour contourner cet aspect d’imposition des standards, vous pourriez juste copier et exécuter l’instruction Declare Global Temporary Table pour la table globale requise à partir de la procédure stockée Get_Free_Employees ou appeler la procédure stockée avant d’exécuter cette instruction Create_Trigger (figure 6). Pour s’assurer que la dernière version de la définition de table temporaire globale sera utilisée, il vaudra mieux appeler la procédure avant de créer le déclencheur.
Téléchargez cette ressource
Mac en entreprise : le levier d’un poste de travail moderne
Ce livre blanc répond aux 9 questions clés des entreprises sur l’intégration du Mac : sécurité, compatibilité, gestion, productivité, coûts, attractivité talents, RSE et IA, et l’accompagnement sur mesure proposé par inmac wstore.
Les articles les plus consultés
Les plus consultés sur iTPro.fr
- Semperis : gouverner l’identité à l’ère des agents IA
- Analyse Patch Tuesday Mars 2026
- Une nouvelle ère de la modernisation du mainframe
- Akamai Technologies déploie sa stratégie de protection en ligne
Articles les + lus
Femmes et métiers de la tech : une attractivité réelle freinée par des stéréotypes persistants
Moderniser le développement logiciel : de la fragmentation à l’intégration
Analyse Patch Tuesday Mars 2026
Une nouvelle ère de la modernisation du mainframe
Communes, entreprises ? Non, face au RGAA 5, l’IA seule ne rendra pas vos sites accessibles
À la une de la chaîne Tech
- Femmes et métiers de la tech : une attractivité réelle freinée par des stéréotypes persistants
- Moderniser le développement logiciel : de la fragmentation à l’intégration
- Analyse Patch Tuesday Mars 2026
- Une nouvelle ère de la modernisation du mainframe
- Communes, entreprises ? Non, face au RGAA 5, l’IA seule ne rendra pas vos sites accessibles
