sql >> Databasteknik >  >> RDS >> Sqlserver

Slinga på bordet (utan att använda markören) för att sammanfoga data

Du kan sammanfoga utan slingan via något som nedan; lägg bara till din egen fråga/anslutningar etc vid behov:

DECLARE @s varchar(max) = ''

SELECT @s = @s + '<br/><b>' + CONVERT(varchar(10), i.CreatedDate, 101) + '</b>' + ISNULL(i.Notes, '')
FROM @Items i

SELECT @s

(du måste se till att det inte finns någon NULL finns där)

men gör inte det här!

Databasen är inte platsen att bygga html; inte minst öppnar det dig enormt till XSRF-sårbarheter. Jag skulle göra detta i UI-lagret, med lämplig användning av html-kodningsfunktionerna som tillhandahålls av vilken plattform du än använder. Att blint sammanlänkade strängar som html är i stort sett i nivå med att blint sammanlänkade användarsträngar till TSQL (istället för att använda parametrar); i bästa fall kommer formateringen att vara borrad (ingen korrekt hantering av <). , etc) - i värsta fall utsätter du dina användare för en direkt risk för attack.



  1. Övervaka MariaDB-prestanda i ett hybridmoln

  2. Beräkna antalet sekunder sedan ett visst datum/tid i SQLite

  3. Skapa geografipolylinje från punkter i T-SQL

  4. Fråga för att växla booleskt värde i MySQL