我遇到了这个程序的问题.这是代码
declare @sql nvarchar(4000)
set @sql = N'SELECT @resp2 = count(*) from '+ @NameTable + ' where datum = ''1'' or datum = ''2'' '
EXEC sp_executesql
@query = @sql,
@params = N'@resp2 INT OUTPUT',
@resp2 = @resp2 OUTPUT
Run Code Online (Sandbox Code Playgroud)
"程序需要'ntext/nchar/nvarchar'类型的参数'@statement'."
我没有发表声明吗?(@sql)
我想要做的就是在执行中为@ resp2设置一个值.
根据手册,您应该为所调用的参数提供一个值@statement,但是您将其提供为@query.
所以它应该是:
declare @sql nvarchar(4000)
set @sql = N'SELECT @resp2 = count(*) from '+ @NameTable + ' where datum = ''1'' or datum = ''2'' '
EXEC sp_executesql
@statement = @sql,
@params = N'@resp2 INT OUTPUT',
@resp2 = @resp2 OUTPUT
Run Code Online (Sandbox Code Playgroud)
只需按照手册,你就可以了.
| 归档时间: |
|
| 查看次数: |
1260 次 |
| 最近记录: |