首页 新闻 搜索 专区 学院

sp_executesql 老是报语法错误 要疯!

0
悬赏园豆:10 [已解决问题] 解决于 2017-07-07 14:25

declare @Sql nvarchar(1000)
    
    set @Sql = 'select top ('+CONVERT(varchar(50),@pageSize)+') * from '+@tableName+' where '+@ID+' not in(select top(('+CONVERT(varchar(50),@pageIndex)+'-1)*'+CONVERT(varchar(50),@pageSize)+') '+@ID+' from '+@tableName+'  where RecEmail='+@RecEmail+')  and RecEmail='+@RecEmail+'';
    set @Sql += 'select @row=COUNT(1) from '+@tableName+'  where RecEmail='+@RecEmail+'';
    
    --系统存储过程
    exec sp_executesql @Sql,N'@row int out',@rowCount out    
    
END
GO

declare @rowCount int
exec Email_Pager 'Email','ID','songxinlei@1505.com',5,2,@rowCount out
select @rowCount

nssp的主页 nssp | 初学一级 | 园豆:193
提问于:2017-04-28 19:03
< >
分享
最佳答案
0

那是因为你的sql代码混乱导致,你应该定义几个变量,比如一个是查询出所有列的变量,再一个是进行查询的变量以及其他!

收获园豆:10
Jeffcky | 老鸟四级 |园豆:2589 | 2017-04-28 20:47
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册