关于存储过程的。。。

USE [jcCmsDb]
GO
/****** 对象: StoredProcedure [dbo].[up_DataPageRowNumber] 脚本日期: 04/25/2013 20:06:12 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO

ALTER PROCEDURE[dbo].[up_DataPageRowNumber]
@SQL Nvarchar(2000),
@Order Nvarchar(40),
@PageIndex int,
@PageSize int,
@TotalRecorder int output
AS
BEGIN
SET NOCOUNT ON;
declare @ExceSQL nvarchar(4000)
declare @start_row_num AS int
SET @start_row_num=(@PageIndex-1)*@PageSize+1
declare @end_row_num int
set @end_row_num=@PageIndex*@PageSize
declare @RowNumber nvarchar(100)
set @RowNumber=',ROW_NUMBER() OVER(ORDER BY '+@Order+')as RowNumber from'
set @SQL=Replace(@SQL,'from',@RowNumber)
set @ExceSQL='select @TotalRecorder=max(RowNumber)from(' +@SQL+ ')as tmp'
execute sp_executesql @ExceSQL,N'@TotalRecorder int output',@TotalRecorder output
set @ExceSQL = 'select*from(' + @SQL + ') as tmp where RowNumber between' +Convert( nvarchar,@start_row_num)
+ 'And' +Convert( nvarchar,@end_row_num)
print @ExceSQL
execute(@ExceSQL)
END

declare @a int
exec up_DataPageRowNumber "select * from jc_Article","Id",2,2,@a output
print @a

为什么会一直抱这个错??抓狂。。。。

select*from(select * ,ROW_NUMBER() OVER(ORDER BY Id)as RowNumber from jc_Article) as tmp where RowNumber between3And4
消息 4145,级别 15,状态 1,第 1 行
在应使用条件的上下文(在 'between3And4' 附近)中指定了非布尔类型的表达式。

转载于:https://www.cnblogs.com/luozhou/archive/2013/04/25/3043603.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值