Bonjour,
J'ai un souci au niveau de la récupération de résultat d'une procédure stockée :
J'ai une procédure stockée générale qui prend 6 paramétres en entrée et qui se base sur l'execution d'une procédure stockée utilisée 2 fois :
La procédure stockée dbo.PS_ST32 prend 6 paramétres en entrée dont un fixé, elle me permet de récupérer 5 colonnes d'une table de ma base de données et de stocker ces données dans une table temporaire :
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 CREATE PROCEDURE PS_MasterST3 -- Add the parameters for the stored procedure here @Periode datetime, @Com int, @PIP int, --Période borne inf prev @PSP int, --Période borne sup prev @PIC int, --Période borne inf CA à date @PSC int, --Période borne sup CA à date AS create table #v (nom_com nvarchar(50),nomu_cli nvarchar(50),typ nvarchar(50),mon_typ int,dte_typ datetime);--table temporaire dans laquelle je souhaite stocker les résultats des 2 procédures ci dessous. EXEC dbo.PS_ST32 'Fac',@Periode,@PIC,@PSC,@Com,'#v' EXEC dbo.PS_ST32 'Pre',@Periode,@PIP,@PSP,@Com,'#v' SELECT * FROM #v GO
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
36
37
38
39
40
41
42 CREATE PROCEDURE PS_ST32 -- Add the parameters for the stored procedure here @tipe nvarchar(50), @Periode datetime, @PInf int, @PSup int, @Comm int, @T nvarchar(50) AS --récupération du premier client du portefeuille du commercial passé en paramétre. --déclaration des variables et du curseur. DECLARE @nom_cli nvarchar(50) DECLARE @nom_com nvarchar(50) DECLARE client_curseur CURSOR FOR SELECT nom_com,nomu_cli FROM ST3_2 WHERE id_com=@Comm ORDER BY nomu_cli OPEN client_curseur FETCH NEXT FROM client_curseur INTO @nom_com,@nom_cli CLOSE client_curseur; DEALLOCATE client_curseur; --création du nombre de colonne fonction de la période choisie par l'utilisateur --création d'une table temporaire pour stocker les lignes. --create table #v (nom_com nvarchar(50),nomu_cli nvarchar(50),typ nvarchar(50),mon_typ int,dte_typ datetime); DECLARE @dte_typ2 datetime SET @dte_typ2 = DATEADD("mm",-@PInf,DATEADD("dd",-DATEDIFF("dd",01,day(@Periode)),@Periode)) WHILE (@dte_typ2 BETWEEN DATEADD("mm",-@PInf,DATEADD("dd",-DATEDIFF("dd",01,day(@Periode)),@Periode)) AND DATEADD("mm",@PSup,DATEADD("dd",-DATEDIFF("dd",01,day(@Periode)),@Periode))) BEGIN Insert into @T values (@nom_com,@nom_cli,@tipe,'0',@dte_typ2) SET @dte_typ2 = DATEADD("mm",+1,@dte_typ2) END GO
Je souhaite récupérer les résultats des 2 procédures stockées mais ça marche pas en créant une table dans la procédure stockée générale et en l'alimentant à l'aide de mon autre procédure stockée (dbo.PS_ST32)...
Comment est ce que je peux m'y prendre ?
Merci d'avance.
Partager