在动态SQL中使用OUTPUT参数调用存储过程

时间:2015-06-13 10:22:06

标签: sql-server stored-procedures output dynamic-sql

我使用动态SQL调用带有OUTPUT参数的存储过程。

set @cSql='EXEC '+@cName+'.dbo.uspNDateGet '''
    +convert(varchar(10),@dtAsOn,102)+''','''
    +@cBr+''','''
    +@cLCode+''','''
    +convert(varchar(10),@dtNDate,102)+''' OUTPUT'

exec(@cSql)

在执行脚本时,我收到以下错误。

  

将常量传递给存储过程时,无法使用OUTPUT选项。

不使用动态SQL,脚本会为我提供所需的结果。

EXEC uspNDateGet @dtAsOn,@cBr,@cLCode,@dtNDate OUTPUT

1 个答案:

答案 0 :(得分:3)

您需要将参数从外部传递到内部查询。

在这里,我向您展示一般情况:

.done