-- Given a CSV string like this:
declare @roles varchar(800)
select @roles = 'Pub,RegUser,ServiceAdmin'
-- Question: How to get roles into a table view like this:
select 'Pub'
union
select 'RegUser'
union
select 'ServiceAdmin'
Po wysłaniu tego, zacząłem grać z jakiegoś dynamicznego SQL. To wydaje się działać, ale wydaje się, że może być pewne zagrożenie bezpieczeństwa przy użyciu dynamicznego SQL - myśli na ten temat?Najbardziej zwięzły sposób przekształcenia łańcucha CSV w tabelę w TSQL?
declare @rolesSql varchar(800)
select @rolesSql = 'select ''' + replace(@roles, ',', ''' union select ''') + ''''
exec(@rolesSql)
Dzięki, to jest świetna funkcja. –
TVF tak? Czy nie byłoby SELECT * FROM dbo.Split (@roles, ',')? – Sinaesthetic