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

存储过程带输出参数,该怎么解决

2013-08-01 
存储过程带输出参数存储过程中,我带输出参数比如crete procedure asd@pageSize int,--页大小@pageIndex in

存储过程带输出参数
存储过程中,我带输出参数
比如crete procedure asd
@pageSize int,--页大小
@pageIndex int,--页索引
@@tolPage int output,--总页数
@tolRecord int output,--总记录数
as
exec sp_executesql @sql,N'@toltemp int output',@tolRecord output

--获取总页数
set @tolPage=CEILING(@tolRecord*1.0/@pageSize) 
declare  @tolPage int,  @tolRecord int 
exec proc_GetNoteByCondition 5, 1,  @tolPage out ,@tolRecord out
我这样执行是有错~
消息 137,级别 15,状态 2,第 1 行
必须声明标量变量 "@tolPage"。
另外有个疑问,我可以在一个存储过程中使用两此exec sp_executesql么?
比如
exec sp_executesql @sql,N'@toltemp int output',@tolRecord output
exec sp_executesql @sql1,N'@toltemp int output',@tolRecord1 output  11111111
[解决办法]
set @tolPage=CEILING(@tolRecord*1.0/@pageSize) 
declare  @tolPage int,  @tolRecord int 
exec proc_GetNoteByCondition 5, 1,@tolPage,@tolRecord
[解决办法]
消息 137,级别 15,状态 2,第 1 行
必须声明标量变量 "@tolPage"。
--> @@tolPage int output,--总页数
    参数声明有问题吧,应该是"@tolPage", 非"@@tolPage".

另外有个疑问,我可以在一个存储过程中使用两此exec sp_executesql么?
--> 可以.
[解决办法]


exec sp_executesql @sql,N'@toltemp int output',@tolRecord output

--获取总页数
set @tolPage=CEILING(@tolRecord*1.0/@pageSize)   --这个之前有没有定义@tolPage的语句?
declare  @tolPage int,  @tolRecord int 

热点排行