Bonjour,

Je cherche à ne pas utiliser les curseurs en T-SQL, préférant créer une table temporaire.

Cette table me sert à stocker le résultat d'une première Procédure Stockée et ensuite de sélectionner ce dont j'ai besoin...

Voici le code :

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
43
44
45
46
47
48
49
50
51
52
53
54
55
 
set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
 
GO
 
ALTER PROC [dbo].[PS_UNITAIRE_CHOIX_LOTS]
 
@Z_Date smalldatetime,
@Z_Lot_Deb nvarchar(10),
@Z_Lot_Fin nvarchar(10)
 
AS
 
CREATE TABLE #TEMP_TABLE
(
num_adress int,
modele nvarchar(3),
produit int,
categorie nvarchar(1),
territorialite nvarchar(1),
vignettes int,
agence int,
compte nvarchar(16),
vignette_deb nvarchar(7),
annee_cde int,
mois_cde int,
jour_cde int,
vignette_fin nvarchar(7),
nom_client nvarchar(35),
adresse_2 nvarchar(35),
adresse_3 nvarchar(35),
adresse_4 nvarchar(35),
cp nvarchar(10),
ville nvarchar(30),
lot nvarchar(9),
ordre nvarchar(50),
Num_Unique nvarchar(50),
mode int,
reception_cgd smalldatetime,
quantite int,
Nb_Vign int,
Etranger nvarchar(10)
)
 
INSERT INTO #TEMP_TABLE
EXEC	[dbo].[PS_UNITAIRE]
		@Z_Date = @Z_Date
 
SELECT #TEMP_TABLE.num_adress, #TEMP_TABLE.modele, #TEMP_TABLE.produit, #TEMP_TABLE.categorie, #TEMP_TABLE.territorialite, #TEMP_TABLE.vignettes, #TEMP_TABLE.mode, #TEMP_TABLE.agence, #TEMP_TABLE.compte, #TEMP_TABLE.vignette_deb, #TEMP_TABLE.annee_cde, #TEMP_TABLE.mois_cde, #TEMP_TABLE.jour_cde, #TEMP_TABLE.vignette_fin, #TEMP_TABLE.nom_client, #TEMP_TABLE.adresse_2, #TEMP_TABLE.adresse_3, #TEMP_TABLE.adresse_4, #TEMP_TABLE.cp, #TEMP_TABLE.ville, #TEMP_TABLE.lot, #TEMP_TABLE.ordre, #TEMP_TABLE.quantite, #TEMP_TABLE.reception_cgd, #TEMP_TABLE.Num_Unique, #TEMP_TABLE.Nb_Vign, #TEMP_TABLE.Etranger
FROM #TEMP_TABLE
WHERE (((#TEMP_TABLE.lot) Between @Z_Lot_Deb And @Z_Lot_Fin))
ORDER BY #TEMP_TABLE.lot, #TEMP_TABLE.ordre;
 
RETURN
Ce code est syntaxiquement correct, mais dans le front que j'utilise, un projet .adp, lorsque j'exécute la PS à l'ouverture d'un état, un message d'erreur apparait :

"La commande fournisseur pour l'ensemble enfant de lignes ne produit pas un ensemble de lignes"
Je ne comprends pas du tout le message d'erreur !!!

Il paraitrait qu'il s'agit d'un bug de SQL SERVER 2005 corrigé par le Service Pack 2, selon le
http://support.microsoft.com/kb/294141/en.

Je n'ai pas la possibilité d'installer cette update et je ne sais plus comment faire pour avancer sur ce problème...

Quelqu'un pourrait-il m'aider ??