Bonjour,
ne travaillant pas depuis longtemps en SQL, je me pose encore des question sur la meilleure manière de faire les choses.
Mon problème est que j'ai fréquemment des requêtes qui se répètent dans mes différents traitements. Ce n'est pas un problème pour l'instant mais ca le deviendra probablement lorsque je devrais modifier ces requêtes dans le futur et que la base de données grandira.
Pour l'instant, pour éviter de dupliquer le code, je crée des fichiers SQL auxquels je passe des paramètres selon les cas et j'utilise des tables temporaires pour ne pas relancer trop de fois la même requête ou pour pouvoir trier plus simplement les données et ajouter des contraintes pour mon traitement spécifique.
Le problème est que j'exécute parfois 3-4 fois la même requête. Comment éviter d'exécuter plusieurs fois les requêtes?
Par exemple je voudrais éviter le cas simple suivant
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 UPDATE table SET (champ1, champ2,...) = ( REQUETE1 ) WHERE EXISTS ( REQUETE1 )
Est-il possible de stocker dans une variable le contenu d'une requête (pas son texte) sans la ré exécuter et de la passer en paramètre d'une autre requète SQL en pur SQL?
Ou alors est-il possible, en PL/SQL par exemple, de faire quelque chose comme ça:
J'avoue que j'arpente différentes doc depuis quelques heures sans trouver de "belle" solution.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 CURSOR curs IS REQUETE1; ... UPDATE table SET (champ1, champ2,...) = ( curs ) WHERE EXISTS ( curs )
Merci d'avance
Eb
Partager