我有如下查询,按要求执行。
DECLARE @count varchar(20)
SET @count = (SELECT COUNT(*) FROM emp)
PRINT 'Employee Count: '+@count
SELECT @count
但是,如果我想对 use if dynamic SQL 做同样的事情,我就得不到我想要的结果。我的动态SQL代码如下:
DECLARE @count varchar(10)
DECLARE @sqlQuery varchar(500)
SET @sqlQuery = 'SET '+@count +'= (SELECT COUNT(*) FROM emp)'
EXEC (@sqlQuery)
PRINT 'Employee Count: '+@count
SELECT @count
这段代码给我一个 NULL 作为输出。
应该做什么?我哪里出错了?
尝试为-
添加输出参数DECLARE
@SQL NVARCHAR(500)
, @OutputNum VARCHAR(10)
SET @SQL = N'SELECT @OUT = COUNT(1) FROM dbo.emp'
EXEC sys.sp_executesql
@SQL
, N'@OUT INT OUTPUT'
, @OUT = @OutputNum OUTPUT
PRINT 'Employee Count: '+ @OutputNum
SELECT @OutputNum
输出-
Employee Count: 103