擴(kuò)展性很好的一個(gè)分頁存儲(chǔ)過程分享
USE [a6756475746]
GO
/****** Object: StoredProcedure [dbo].[tbl_order_SearchWhereAndPage] Script Date: 11/01/2011 09:37:39 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER PROCEDURE [dbo].[tbl_order_SearchWhereAndPage]
@AllCount int OUTPUT,
@PageIndex int,
@PageSize int ,
@minDate datetime,
@maxDate datetime
AS
begin
DECLARE @PageLower int
set @PageLower=@PageSize * @PageIndex
DECLARE @PageUpper int
set @PageUpper= @PageLower + @PageSize - 1
DECLARE @SearchSQL nvarchar(4000)
set @SearchSQL='SELECT * ,( ROW_NUMBER() OVER (ORDER BY [ID] DESC) -1 ) AS RowNumber FROM tbl_order WHERE (1=1) '
DECLARE @SearchSQLCount nvarchar(4000)
set @SearchSQLCount='SELECT @count=Count(*) FROM tbl_order WHERE (1=1) '
declare @Result [varchar](5000)
set @Result=''
if @minDate>convert(datetime,'1900-1-2')
begin
set @Result=@Result+' and oDeliveryDate >= '''+convert(varchar(20),@minDate)+''''
end
if @maxDate > convert(datetime,'1900-1-2')
begin
set @Result=@Result+' and oDeliveryDate <= '''+convert(varchar(20),dateadd(dd,1,@maxDate))+''''
end
set @SearchSQLCount=@SearchSQLCount+@Result
set @SearchSQL=@SearchSQL+@Result
SET @SearchSQL = 'WITH t AS (' + @SearchSQL +' )
SELECT * FROM t
WHERE [RowNumber] BETWEEN '+ convert(varchar(50),@PageLower) +' AND '+ convert(varchar(50),@PageUpper) + '
ORDER BY RowNumber '
exec (@SearchSQL)
exec sp_executesql @SearchSQLCount ,N'@count as int out' ,@AllCount out
print @SearchSQL
print @AllCount
end
exec (@Result)
相關(guān)文章
sql server清理日志的實(shí)現(xiàn)步驟
清理 SQL Server 日志是數(shù)據(jù)庫管理的一項(xiàng)重要工作,可以釋放磁盤空間并提高數(shù)據(jù)庫性能,本文就來詳細(xì)的介紹一下,感興趣的可以了解一下2023-10-10
數(shù)據(jù)庫觸發(fā)器DB2和SqlServer有哪些區(qū)別
大部分?jǐn)?shù)據(jù)庫語句的基本語法是相同的,但具體到的每一種數(shù)據(jù)庫,又有些不一樣,例如觸發(fā)器,DB2和SQL Server兩種很大的不同。對(duì)數(shù)據(jù)庫觸發(fā)器DB2和SqlServer有哪些區(qū)別感興趣的朋友一起看看本文吧2015-11-11
Sql Server 數(shù)據(jù)庫索引整理語句,自動(dòng)整理數(shù)據(jù)庫索引
我們就要定期的對(duì)數(shù)據(jù)庫的索引進(jìn)行維護(hù) 我在MSDN上發(fā)現(xiàn)了這個(gè)腳本不過其中有些小問題我已經(jīng)修正 大家可以使用這個(gè)腳本對(duì)數(shù)據(jù)庫的索引進(jìn)行日常維護(hù)2009-07-07
sqlserver中創(chuàng)建鏈接服務(wù)器圖解教程
鏈接服務(wù)器在跨數(shù)據(jù)庫/跨服務(wù)器查詢時(shí)非常有用(比如分布式數(shù)據(jù)庫系統(tǒng)中),本文將以圖文方式詳細(xì)說明如何利用SQL Server Management Studio在圖形界面下創(chuàng)建鏈接服務(wù)器。2010-09-09
解決Windows 10家庭版安裝SQL Server 2014出現(xiàn).net 3.5失敗問題
在安裝SQL Server 2014的過程中,出現(xiàn).net 3.5缺失,導(dǎo)致失敗問題。怎么解決此問題呢?下面小編給大家分享解決Windows 10家庭版安裝SQL Server 2014出現(xiàn).net 3.5失敗問題,一起看看吧2017-04-04
數(shù)據(jù)庫日常練習(xí)題,每天進(jìn)步一點(diǎn)點(diǎn)(1)
下面小編就為大家?guī)硪黄獢?shù)據(jù)庫基礎(chǔ)的幾道練習(xí)題(分享)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧,希望可以幫到你2021-07-07
SQLServer批量更新兩個(gè)關(guān)聯(lián)表數(shù)據(jù)的方法
這篇文章主要介紹了SQLServer批量更新兩個(gè)關(guān)聯(lián)表數(shù)據(jù)的方法,提供了2種關(guān)聯(lián)查詢與更新語句的使用技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2016-08-08
簡(jiǎn)單觸發(fā)器的使用 獻(xiàn)給SQL初學(xué)者
簡(jiǎn)單觸發(fā)器的使用 獻(xiàn)給SQL初學(xué)者,使用sqlserver的朋友可以參考下。2011-09-09

