sp_executesql 未显示所需结果

sp_executesql not showing desired result

我正在 SQL 服务器中处理 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。 请帮我看看哪里错了!!

你需要指出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 示例。