T-SQL Boucle While et la concaténation

J'ai une requête SQL qui est censé sortir un disque, et concat chacun à une chaîne, alors la sortie de cette chaîne. La partie importante de la requête ci-dessous.

DECLARE @counter int;
SET @counter = 1;

DECLARE @tempID varchar(50);
SET @tempID = '';

DECLARE @tempCat varchar(255);
SET @tempCat = '';

DECLARE @tempCatString varchar(5000);
SET @tempCatString = '';

WHILE @counter <= @tempCount
BEGIN

    SET @tempID = (
    SELECT [Val]
    FROM #vals
    WHERE [ID] = @counter);

    SET @tempCat = (SELECT [Description] FROM [Categories] WHERE [ID] = @tempID);
    print @tempCat;

    SET @tempCatString = @tempCatString + '<br/>' + @tempCat;
    SET @counter = @counter + 1;

END

Lorsque le script s'exécute, @tempCatString sorties de nulle alors que @tempCat toujours sorties correctement. Est-il une raison pour que la concaténation de ne pas travailler à l'intérieur d'une boucle While? Qui semble erroné, car l'incrémentation @counter fonctionne parfaitement. Donc, il y a une chose que je suis absent?

InformationsquelleAutor JustinT | 2009-01-16