Bonjour tout le monde,
Afin d'éditer un document comportant des champs de fusion, j'ai créé une fonction SQL qui récupère et concatène les valeurs de la base de données.
Mon problème est que dans certains cas la fonction me retourne une valeur supérieure à 8000. J'ai lu sur le forum qu'il fallait utiliser la syntaxe
varchar (max), mais je n'arrive pas à compiler ma fonction en utilisant cette déclaration.
De plus, pour le moment je suis sur un SQL Server 2000, mais dans les mois à venir, nous allons migrer sur un 2005, puis un 2008 (peut être), je voudrais donc une solution qui puisse fonctionner dans les différentes versions si possible.
Voilà le squelette de ma fonction :
J'ai essayé en remplaçant la valeur 8000 par max, mais dans ce cas là j'obtiens "syntaxe incorrecte vers 'max'." lors de la compile.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 CREATE FUNCTION dbo.GetPublicationListe (@PK_IDAffaire uniqueidentifier) RETURNS VARCHAR(8000) AS BEGIN DECLARE @strListePublication VARCHAR(8000), SET @strListePublication = '' [ // Concaténation des données dans la variable @strListePublication SET @strListePublication = @strListePublication + @Valeur_du_Curseur ] RETURN @strListePublication END
Merci d'avance pour vos réponses,
BibiSeal
Partager