Bonjour à tous,

je rencontre un petit soucis sur une procèdure stockée avec SQL server.
J'ai des erreurs de syntaxe qui pop et je sais pas pourquoi

Je débute avec les procédures stockées donc il y a quelques concepts que je ne maîtrise pas forcément

voila mon 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
create procedure Statistiques as 
declare @sexe as varchar(50), @etat as varchar(50)
declare @Total as int
	@Total = select SUM(cast(cast(POND as varchar(50))as int)) from insee
	create sexe_cursor CURSOR FOR Select DISTINCT SEXE from insee
	open sexe_cursor
	FETCH NEXT FROM sexe_cursor INTO @sexe
	WHILE (@@FETCH_STATUS = 0)
		BEGIN
			create etat_cursor CURSOR FOR Select DISTINCT ETAT_MAT from insee
			open etat_cursor
			FETCH NEXT FROM etat_cursor INTO @etat
			while (@@FETCH_STATUS = 0)
				BEGIN
					-- On récupére le total de personnes de chaque Etat et chaque sexe => CASE 
					declare @TotalCase AS int
					@TotalCase = select SUM(cast(cast(POND as varchar(50))as int)) from insee WHERE SEXE = @sexe and ETAT_MAT = @etat
					-- On récupére le total de personnes de chaque Sexe => Ligne
					declare @totalSexe AS int
					@totalSexe = Select SUM(cast(cast(POND as varchar(50))as int)) from insee WHERE SEXE = @sexe
					-- On récupére le total de personnes de chaque Etat => Colonne
					declare @totalEtat AS int
					@totalEtat =Select SUM(cast(cast(POND as varchar(50))as int)) from insee WHERE ETAT_MAT = @etat
 
					declare @freq as float
					@freq = (@TotalCase/@Total)*100
 
					declare @pctligne as float
					@pctligne = (@TotalCase/@totalSexe)*100
 
					declare @pctCol as float
					@pctCol = (@TotalCase/@totalEtat)*100
 
					select @TotalCase, @freq, @pctligne, @pctCol
				END
		END
et les erreurs qui pop :

Msg*102, Niveau*15, État*1, Procédure*Statistiques, Ligne*4
Syntaxe incorrecte vers '@Total'.
Msg*102, Niveau*15, État*1, Procédure*Statistiques, Ligne*5
Syntaxe incorrecte vers 'sexe_cursor'.
Msg*102, Niveau*15, État*1, Procédure*Statistiques, Ligne*10
Syntaxe incorrecte vers 'etat_cursor'.
Msg*102, Niveau*15, État*1, Procédure*Statistiques, Ligne*17
Syntaxe incorrecte vers '@TotalCase'.
Msg*102, Niveau*15, État*1, Procédure*Statistiques, Ligne*20
Syntaxe incorrecte vers '@totalSexe'.
Msg*102, Niveau*15, État*1, Procédure*Statistiques, Ligne*23
Syntaxe incorrecte vers '@totalEtat'.
Msg*102, Niveau*15, État*1, Procédure*Statistiques, Ligne*26
Syntaxe incorrecte vers '@freq'.
Msg*102, Niveau*15, État*1, Procédure*Statistiques, Ligne*29
Syntaxe incorrecte vers '@pctligne'.
Msg*102, Niveau*15, État*1, Procédure*Statistiques, Ligne*32
Syntaxe incorrecte vers '@pctCol'.
Msg*137, Niveau*15, État*2, Procédure*Statistiques, Ligne*34
La variable scalaire "@TotalCase" doit être déclarée.


Si quelqu'un peut m'éclairer sur ces erreurs de syntaxe ça m'aiderai beaucoup
Je vous remercie pour votre aide.

Kek's