Je kunt samenvoegen zonder de lus via iets als hieronder; voeg zo nodig uw eigen zoekopdracht / joins enz. toe:
DECLARE @s varchar(max) = ''
SELECT @s = @s + '<br/><b>' + CONVERT(varchar(10), i.CreatedDate, 101) + '</b>' + ISNULL(i.Notes, '')
FROM @Items i
SELECT @s
(je moet zorg ervoor dat er geen NULL
zijn zit erin)
maar doe dit niet!
De database is niet de plek om html te bouwen; niet in de laatste plaats, het opent je enorm op XSRF-kwetsbaarheden. Ik zou dit doen in de UI-laag, waarbij ik op de juiste manier gebruik maak van de html-coderingsfuncties die worden geboden door welk platform je ook gebruikt. Het blindelings samenvoegen van strings als html is vrijwel gelijk aan het blindelings samenvoegen van gebruikersstrings in TSQL (in plaats van parameters te gebruiken); in het beste geval zal de opmaak worden verpest (geen correcte afhandeling van <
, enz.) - in het slechtste geval plaatst u uw gebruikers direct risico op aanvallen.