salut,
ça doit être une erreur toute bête, mais j'ai lu et relu mon code, je ne voie pas ce qui ne va pas,
je cherche à concaténer les éléments de ma base de données, avec certains critères, je me suis dis qu'il valais mieux utiliser un curseur et des case, mais j'ai l'erreur :
Et cela en utilisant un code tout ce qu'il y a de plus basique. Le voici :Msg 156, Niveau 15, État 1, Procédure updateDropdownListsTable, Ligne 45
Syntaxe incorrecte vers le mot clé 'case'.
Msg 156, Niveau 15, État 1, Procédure updateDropdownListsTable, Ligne 48
Syntaxe incorrecte vers le mot clé 'else'.
Msg 102, Niveau 15, État 1, Procédure updateDropdownListsTable, Ligne 179
Syntaxe incorrecte vers 'end'.
vous aurez surement plus de recul que moi pour détecter ma bêtise …
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
56
57
58 USE [MyDatabase] GO /****** Objet : StoredProcedure [PRS].[updateDropdownListsTable] Date de génération du script : 08/21/2007 15:59:13 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO ALTER procedure [dbo].[updateDropdownListsTable] as begin set nocount on; --déclaration de variables declare @listeAnnée varchar(8000) -- declare @listeMois varchar(8000) -- --colonnes temopraires declare @tempAnnée numeric(4,0) declare @tempCodeMois numeric(2, 0) declare @tempLibelléMois nvarchar(50) --initialisation des variables set @listeAnnée= '' -- set @listeMois= '' -- declare curseurExerciceEtmois cursor for select distinct qqanne, qqmois, libelmois from cbinfap join mois on qqmois=codemois order by qqanne,qqmois open curseurExerciceEtmois fetch curseurExerciceEtmois into @tempAnnée, @tempCodeMois, @tempLibelléMois while @@fetch_status = 0 begin set @listeAnnée=@listeAnnée + '|' + cast(@tempAnnée as varchar(12)) case when (@listeMois like '%||' + cast(@tempAnnée as varchar(12) + '|%') then set @listeMois = @listeMois + '||' + cast(@tempAnnée as varchar(12)) + '|' + @tempLibelléMois else set @listeMois = @listeMois+'|' + @tempLibelléMois end fetch curseurExerciceEtmois into @tempAnnée, @tempCodeMois, @tempLibelléMois end close curseurExerciceEtmois deallocate curseurExerciceEtmois delete from dropdownliststable insert into dropdownliststable ( listeExercices, listePériodes )values ( @listeAnnée, @listeMois ) end
Partager