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
| CREATE FUNCTION ConcatColV2
(@id VARCHAR(MAX), @idCol VARCHAR(MAX), @toto VARCHAR(MAX), @ResultCol VARCHAR(MAX))
RETURNS VARCHAR(MAX)
AS
BEGIN
-- Declare the return variable here
DECLARE
@SQL VARCHAR(MAX),
@tmp VARCHAR(MAX),
@Result VARCHAR(MAX)
DECLARE
myCursor CURSOR
FOR
SELECT @ResultCol
FROM @toto
WHERE @idCol = ' = ''' + @id + ''''
-- ouverture du curseur
OPEN mycusor
-- lecture de la première ligne
FETCH myCursor INTO @tmp
SET @Result = @tmp
-- boucle ligne à ligne
WHILE @@FETCH_STATUS = 0
BEGIN
FETCH myCursor INTO @tmp
set @Result = @Result + ', ' + @tmp
END
-- fermeture et désallocation d'espace mémoire du curseur
CLOSE myCursor
DEALLOCATE myCursor
-- Return the result of the function
RETURN @Result
END |
Partager