首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

在存储过程中将EXEC命令执行的结果赋给变量的有关问题?

2012-02-09 
在存储过程中将EXEC命令执行的结果赋给变量的问题???declare@strvarchar(500)set@strN select@recordcoun

在存储过程中将EXEC命令执行的结果赋给变量的问题???
declare   @str   varchar(500)

set   @str   =   N 'select   @recordcount   =   count(ProjectID)   from   [ '+@ToDbName+ '].[dbo].[ContractReportData]   where   ProjectStartDate   =   ' ' '+convert(varchar,@PrevDateTime,120)+ ' ' '   and   ProjectEndDate   =   ' ' '+convert(varchar,@NextDateTime,120)+ ' ' '   and   Type= ' ' '+@Type+ ' ' ' '

exec   sp_executesql   @str,N '@recordcount   int   output ',   @recordcount   output
if(@recordcount   =0)
......

这个报错:服务器:   消息   214,级别   16,状态   2,过程   sp_executesql,行   14
过程需要参数   '@statement '   为   'ntext/nchar/nvarchar '   类型。

在另一个存储过程中,我用和这个相同的方法,只是表名不一样而已,就不报这个错误,请问:这是为什么?

[解决办法]
declare @str nvarchar(500)

热点排行
Bad Request.