Question

Yat-il un moyen d'y parvenir:

CREATE TABLE #TempLocal (tmpBanner nvarchar(255) )
SET @Query = 'INSERT INTO #TempLocal (tmpBanner) SELECT TOP 1 F1 FROM '+ @dbTable_Dollar
SELECT @Banner = tmpBanner FROM #TempLocal
DROP TABLE #TempLocal;
SELECT @Banner

En fait, j'ai un paramètre de table dynamique et je dois obtenir la valeur de la colonne 1 ligne 1.

merci,

KS

SOLUTION

DECLARE @Banner nvarchar(255),
@chvSQL NVARCHAR(300)

SELECT @chvSQL = N'SELECT TOP 1 @Banner = [F1] from '+@dbTable_Dollar
EXEC sp_executesql @chvSQL, N'@Banner varchar(50) OUTPUT', @Banner OUTPUT
Était-ce utile?

La solution 2

Solution

DECLARE @Banner nvarchar(255),
@chvSQL NVARCHAR(300)

SELECT @chvSQL = N'SELECT TOP 1 @Banner = [F1] from '+@dbTable_Dollar
EXEC sp_executesql @chvSQL, N'@Banner varchar(50) OUTPUT', @Banner OUTPUT

Autres conseils

Vous pouvez mettre le résultat de votre recherche dynamique sur votre table temporaire:

CREATE TABLE #TempLocal (tmpBanner nvarchar(255) )
SET @Query = 'SELECT TOP 1 F1 FROM '+ @dbTable_Dollar

INSERT INTO #TempLocal (tmpBanner)
EXEC(@Query)

SELECT @Banner = tmpBanner FROM #TempLocal

Bien que je vous recommande de jeter un oeil à ce lien premier.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top