erreur obtenue : variable assignment is not allowed in a cursor declaration.

Exemple:
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
--Fait une boucle pour savoir si le maitre Promety de destination à déja une liste avec le nom 
	DECLARE liste_source CURSOR local FOR
		SELECT @ReqExec = 'SELECT nom, nom_html, description, isDefault 
		FROM ' + @bd_source + 'partenaire_type pt
		INNER JOIN ' + @bd_source + 'type_mailing_CIperso t ON t.fk_mailing_CIperso = ' + @fk_mailing + ' AND pt.id = t.fk_partenaire_type AND t.fk_partenaire_type IS NOT NULL
		WHERE pt.fk_partenaire_menu = ' + @id_partenaire_source
		EXEC(@ReqExec)
 
		--SELECT nom, nom_html, description, isDefault FROM partenaire_type where fk_partenaire_menu=@id_partenaire_source
 
 
		OPEN liste_source
			FETCH NEXT FROM liste_source INTO @nom, @nom_html, @description, @isDefault
			WHILE @@FETCH_STATUS = 0  BEGIN
 
				--Si le maitre Promety de destination à déja une liste qui a comme défaut 1
				IF @isDefaultUn = 1 SET @isDefault = 0
 
 
				SELECT @ReqExec = 'SELECT NULL FROM ' + @bd_destination + 'partenaire_type WHERE fk_partenaire_menu = ' + CAST(@id_partenaire_destination AS VARCHAR(12)) + ' AND nom = ' + @nom
				EXEC(@ReqExec)
				--Si il existe pas de liste avec ce nom pour le maitre Promety de destination on la crée
				IF @@ROWCOUNT = 0 BEGIN
					SELECT @ReqExec = 'INSERT ' + @bd_destination + 'partenaire_type(fk_partenaire_menu, nom, nom_html, description, isDefault) VALUES (' + CAST(@id_partenaire_destination AS VARCHAR(12)) + ', ' + @nom + ', ' + @nom_html + ', ' + @description + ', ' + @isDefault + ')'
					EXEC(@ReqExec)
				END	
 
				FETCH NEXT FROM liste_source INTO @nom, @nom_html, @description, @isDefault
			END
		CLOSE liste_source
	DEALLOCATE liste_source