2014-06-10 106 views
-1

我曾设在这里Table name as variable如何从EXEC结果存储到@variable

我的问题是同一个问题,我怎么能存储结果从EXEC语句返回到@Variable?

实施例:

EXEC('SELECT count(*) FROM ' + @tablename) 

由于

+0

尝试阅读[此](http://stackoverflow.com/questions/803211/how-to-get -sp-executionql-result-into-a-variable)或[this](http://stackoverflow.com/questions/2245691/how-to-assign-an-exec-result-to-a-sql-variable) – Sky

+0

你的问题和例子在不同的方向 –

回答

0

写为:

DECLARE @SQLString NVARCHAR(500) 
DECLARE @ParmDefinition NVARCHAR(500) 
DECLARE @COUNT INT 
DECLARE @TableName NVARCHAR(100) 

SET @SQLString = N'SELECT @COUNTOUT = count(*) FROM ' + QUOTENAME(@TableName); 

SET @ParmDefinition = N'@COUNTOUT INT OUTPUT' 
EXECUTE sp_executesql 
@SQLString, 
@ParmDefinition, 
@[email protected] OUTPUT 
SELECT @COUNT