sp_executesql没有显示所需的结果

时间:2015-04-06 06:01:35

标签: sql sql-server tsql sp-executesql

我正在使用SQL Server中的SQL并遇到这个问题,

set @sqlString=N'select @max=MAX('+@columnName+') from @temp';
exec sp_executesql @sqlString,
             N'@temp as Table_Type readonly, @max nvarchar(max)', @temp ,@max;

我已经测试了这个没有参数的sql语句而且它正常工作但是像这样它在@max中显示为null。 请帮帮我,我哪里出错!!

1 个答案:

答案 0 :(得分:4)

您需要指出max参数为output。试试这个:

set @sqlString=N'select @max=MAX('+@columnName+') from @temp';
exec sp_executesql @sqlString,
             N'@temp as Table_Type readonly, @max nvarchar(max) output', @temp ,@max output;

您也可以查看this示例。