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

请帮忙见见这句存储过程错在哪里

2012-10-10 
请帮忙看看这句存储过程错在哪里?想做一个分页的存储过程,只是个简单的实例,为的是学习下存储过程的编写,

请帮忙看看这句存储过程错在哪里?
想做一个分页的存储过程,只是个简单的实例,为的是学习下存储过程的编写,存储过程代码如下:

SQL code
ALTER proc [dbo].[GetPageData1]@pageIndex int=1, --页码@pageSize int=10, --页容量@tblName varchar(100), --表名@keyName varchar(100),--主键名@where varchar(500), --查询条件@rowCount int output --返回总行数asbegin    declare @sqlStr varchar(1000)    set @sqlStr = 'select @rowCount = count('+@keyName+') from ['+@tblName+']'    exec(@sqlStr)end


运行这段存储过程时提示如下错误:

消息 137,级别 15,状态 1,第 1 行
必须声明标量变量 "@rowCount"。

请问错在哪里?应该如何写才对?

[解决办法]
SQL code
ALTER proc [dbo].[GetPageData1]  @pageIndex int=1, --页码  @pageSize int=10, --页容量  @tblName varchar(100), --表名  @keyName varchar(100),--主键名  @where varchar(500), --查询条件  @rowCount int output --返回总行数    as  begin      declare @sqlStr varchar(1000)        set @sqlStr = 'select '+convert(varchar(10),@rowCount)+' = count('+@keyName+') from ['+@tblName+']'      --PRINT @sqlStr  可以通过print来查看,先不用exec      exec(@sqlStr)    end 

热点排行