Bonjour à toutes et tous,
Venant d'Oracle et MS SQL Server, j'ai depuis peu la charge de développements sur une bdd ASE en 12.5.
J'ai un souci concernant la manière dont ASE fonctionne.
A la base, j'ai 3 SELECT INTO consécutifs puis la création d'une table temporaire et enfin un INSERT dans cette table
Par exemple :
Si j'exécute la partie 1, cela me prend 1mn et si j'exécute la partie 2 après, la création de la table puis l'insert final prennent 20s.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 -- partie 1 SELECT A, B, C INTO #tab1 FROM mytable_1 SELECT A, D, E INTO #tab2 FROM mytable_2 SELECT D, F, G INTO #tab3 FROM mytable_3 -- partie 2 CREATE TABLE #Totaux (... ) INSERT INTO #Totaux SELECT A, B, C, E, F+G, etc. FROM #tab1, #tab2, #tab3
Cependant si je lance la partie 1 et la partie 2 ensemble, j'attends plus de 10mn.
La solution que j'ai trouvé pour tout lancer d'un coup et d'insérer des GO après chaque commande.
Maintenant mon problème est que je dois réaliser cet enchaînement de commandes dans une procédure stockée... et que je ne peux pas user de GO.
Y'a-t-il d'autres moyens? J'aimerais éviter de passer par des tables permanentes en lieu et place des #tab.
Par avance, merci
Partager