sql >> Databáze >  >> RDS >> Sqlserver

Smyčka na stole (bez použití kurzoru) pro spojení dat

Můžete zřetězit bez smyčky pomocí něčeho podobného níže; stačí přidat svůj vlastní dotaz / spojení atd. podle potřeby:

DECLARE @s varchar(max) = ''

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

SELECT @s

(musíte ujistěte se, že zde nejsou žádné NULL je tam)

ale nedělejte to!

Databáze není místo pro vytvoření html; v neposlední řadě vás to otevře obrovsky na zranitelnosti XSRF. Udělal bych to ve vrstvě uživatelského rozhraní a vhodně využil funkce kódování html poskytované jakoukoli platformou, kterou používáte. Slepé zřetězení řetězců jako html je do značné míry na stejné úrovni jako slepé zřetězení uživatelských řetězců do TSQL (místo použití parametrů); v nejlepším případě bude formátování přerušeno (žádné správné zpracování < , atd.) – v nejhorším případě vystavíte své uživatele přímému riziku útoku.



  1. Znamená vývoj kontaktních informací změnu vaší databáze?

  2. Oracle SQL:Jak zobrazit prázdné týdny / týdny bez dat?

  3. Příkaz SQL pro výpis a zobrazení všech databází v MySQL a MariaDB

  4. Jak uložit výsledky MySQL do souboru ve formátu tabulky