Bonjour,
J'ai une fonction scalaire (FA) qui renvoie un varchar(255). Cette fonction renvoie une requête SQL créée en dynamique. Cette requête se présente ainsi :
'SELECT Champ1, Champ2 + Champ3 - Champ4 FROM TABLE'
Ensuite j'ai créé une 2nde fonction (FB), qui appelle la 1ere, et qui est censée renvoyer une table basée sur la requête fournie par (FA).
Au final, lorsque j'exécute (FB), je n'ai aucun retour de ligne(évidement, j'ai bien vérifié que j'avais des lignes à renvoyer)
Merci de votre aide !
Voici les 2 fonctions (en raccourcis...)
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 CREATE function FA() RETURNS varchar(255) as BEGIN ... Set @ReqSQL = 'Champ2 + Champ3 - Champ4' Set @ReqSQL1 = 'SELECT Champ1, ' + @ReqSQL+ ' AS S1 FROM B_Stock_Cumul' RETURN @ReqSQL1 END CREATE function FB() RETURNS @InfoStock TABLE ( Article_ID int, S1 int ) as BEGIN Declare @ReqSQL varchar(255) Set @ReqSQL = dbo.FA() RETURN END
Partager