Syntaxe incorrecte vers le mot clé 'case'.
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 :
Citation:
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'.
Et cela en utilisant un code tout ce qu'il y a de plus basique. Le voici :
Code:
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 |
vous aurez surement plus de recul que moi pour détecter ma bêtise …