mssql sp_executesql výstupní tabulku do stringu   otázka

SQL

Zdravím včechny sql nadšence

narazil jsem na malej problém a nemůžu nikde najít řešení.

Mám proceduru ve které skládám select s mým formátováním ve stringu.

Nakonec ho spustím přes:

EXEC sp_executesql @Select, @Param, @i = @i

V pořádku vyhodí výsledek tabulku 3 sloupce 3 řádky (mohou být i jiné)

Potřeboval bych ale nějak tu tabulku vrátit tak abych si jí mohl uložit jako string a dále s tím stringem pracovat jako s promenou.

Například když vrátí 3 sloupce 2 řádky:

+---+---+---+

| 1 | 2 | 3 |

+---+---+---+

| 1 | 3 | 1 |

+---+---+---+

Tak nejak dostat do proměné třeba: @out = '123131'

nahlásit spamnahlásit spam 1 / 1 odpovědětodpovědět

Tak jsem si to vyřešil sám. (děkuji alespon za par zobrazeni)

DECLARE @SQLString NVARCHAR(MAX)
DECLARE @ParmDefinition NVARCHAR(128)
DECLARE @SQLStringOut NVARCHAR(MAX)
DECLARE @SQLStringOutFinal NVARCHAR(MAX)

SET @SQLStringOutFinal = ''
set @SQLStringOut = ''

SET @SQLString = N'SELECT @SQLStringOut = @SQLStringOut +  [sloupec1] + [sloupec3]  FROM [120].[ATest]'

SET @ParmDefinition = N'@SQLStringOut NVARCHAR(MAX) OUTPUT'


EXECUTE sp_executesql @SQLString,@ParmDefinition, @SQLStringOut=@SQLStringOutFinal OUTPUT

SELECT @SQLStringOutFinal

nahlásit spamnahlásit spam 0 odpovědětodpovědět
                       
Nadpis:
Antispam: Komu se občas házejí perly?
Příspěvek bude publikován pod identitou   anonym.
  • Administrátoři si vyhrazují právo komentáře upravovat či mazat bez udání důvodu.
    Mazány budou zejména komentáře obsahující vulgarity nebo porušující pravidla publikování.
  • Pokud nejste zaregistrováni, Vaše IP adresa bude zveřejněna. Pokud s tímto nesouhlasíte, příspěvek neodesílejte.

přihlásit pomocí externího účtu

přihlásit pomocí jména a hesla

Uživatel:
Heslo:

zapomenuté heslo

 

založit nový uživatelský účet

zaregistrujte se

 
zavřít

Nahlásit spam

Opravdu chcete tento příspěvek nahlásit pro porušování pravidel fóra?

Nahlásit Zrušit

Chyba

zavřít

feedback