Je souhaite créer une fonction qui renvoie une chaîne concaténée d'un champ donné d'une requête donnée. Voici ce que j'ai fait. Et celui-ci me donne une erreur. Doit déclarer la variable de table "@qry".Champ Concat SQL à partir de plusieurs lignes
CREATE FUNCTION dbo.testing
(
@qry varchar(1000),
@fld varchar(100),
@separator varchar(15) = '; '
)
RETURNS varchar
AS
BEGIN
DECLARE @rslt varchar(1000)
SET @rslt =''
SELECT @rslt = @rslt + @separator + CAST(@fld as varchar(160)) FROM @qry
RETURN @rslt
END
Ce que je suis en train de faire est de passer une requête à cette fonction et recevoir une chaîne concatinated pour certains champs de la requête.
Est-ce possible?
Qu'est-ce que je fais mal?
EDIT: BTW J'ai MSSQL Server 2005;
le faire comme: ** Set @ rslt = NULL; SELECT ISNULL (@ rslt + @ separator, '') + ... ** donc vous n'obtenez pas de @separator au début du @rslt –