日期:2014-05-18  浏览次数:20486 次

关于存储过程中的带@参数语句的调用
declare @Sql_Return varchar(30) -- 返回值
set @Sql_Sql='Select @Sql_Return=Max(number) from aaa'

 EXEC (@Sql_Sql) -- 出错,提示@Sql_Return参数无效。

 EXEC sp_executesql N'@Sql_Sql',N'@Sql_Return' -- 用 EXEC sp_executesql该怎么写,格式才正确。


谢谢了!解决马上给分!

------解决方案--------------------
需要有返回值的,要加output
SQL code

declare @Sql_Return varchar(30) -- 返回值
set @Sql_Sql='Select @Sql_Return=Max(number) from aaa'
EXEC sp_executesql N'@Sql_Sql',N'@Sql_Return output',@Sql_Return  output
print @Sql_Return