Bonjour,

Je dois récupérer quelques données et les compléter en fonction du nombre d’enregistrements existants.
Donc j’ai créé une procédure stockée qui alimente une table temporaire avec un SELECT sur les tables de ma bdd, et qui complète la table temporaire avec des VALUES en combinant des If et While.

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
23
24
25
26
27
28
29
30
31
32
33
34
35
CREATE PROCEDURE [dbo].[Surperformances](@X varchar(80),@Y varchar(80))
...
 
  create table #resultat (
    yr varchar(255),
    pr float
    )
 
 
   insert into #resultat (
    yr,
    pr	
    )
 
  SELECT...
 
-- Cas1
 
  If(@Nbre_Lignes<20 AND @Nbre_Lignes>10)
		   While @Nbre_Lignes<20
			BEGIN 
				insert into #resultat (
 				yr,
 				pr	
 				)
 				VALUES(…,…)
 				…
 
		END
-- Cas2
…
-- Cas3
…
 
     select * from #resultat

Je dois créer dans un univers (BO DESIGNER) des objets correpodants aux colonnes de ma table temporaire, mais je ne peux pas utilisier ma procédure stockée dans l’univers, donc j’ai pensé à passer par une fonction qui appelle la proc stockée:

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
CREATE FUNCTION [dbo].[get_perfs]()
RETURNS nvarchar(255)
AS
BEGIN
 
  create table #res (
		aaa varchar(255),
		ppp float
  )
  insert into #res (
 		aaa,
 		ppp	
 		)
 
Exec dbo.Surperformances X, Y
 
 
 
END
Mais j’ai une erreur:
Cannot access temporary tables from within a function.
Pourriez vous m'aider à résoudre ce problème?

Bonne journée.