1. 程式人生 > >SQLSERVER分頁通用儲存過程

SQLSERVER分頁通用儲存過程

USE [DataBase]
GO
/****** Object: StoredProcedure [dbo].[CommonPagenation] Script Date: 06/28/2016 10:41:58 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
Create PROCEDURE [dbo].[CommonPagenation]
@tableField varchar(200) = '*', --搜尋表的欄位
@tableName varchar(50) = '', --搜尋表名
@selectWhere varchar(500) = '', --搜尋條件
@selectID varchar(20)='', --表主鍵欄位名,比如ID
@selectOrder varchar(200)='', --排序,可以使用多欄位排序但主鍵欄位必需在最前面.也可以不寫,
--比如:order by CreateDate desc
@pageNo int = 1, --頁號
@pageSize int = 2 --每頁顯示記錄數
[email protected]
int OUTPUT --總記錄數,輸出引數
AS
declare @tmpSelect nvarchar(600)

if(@selectWhere !='')
begin
set @tmpSelect = 'select top ' +cast(@pageSize as varchar(20))+' ' [email protected]+' from ' [email protected]+' where ' [email protected]+ ' not in(select top ' +cast(((@pageNo-1)*@pageSize) as varchar(20))
+' '
[email protected]
+' from '[email protected]+ ' where ' [email protected]+' '[email protected]+') and '[email protected]here+' ' + @selectOrder
end
else
begin
set @tmpSelect = 'select top ' +cast(@pageSize as varchar(20))+' ' [email protected]+' from ' [email protected]+' where '
[email protected]
+ ' not in(select top ' +cast(((@pageNo-1)*@pageSize) as varchar(20))+' ' [email protected]+' from '[email protected]+
' '[email protected]+') ' + @selectOrder
end
execute sp_executesql @tmpSelect
return(@@rowcount)

相關推薦

SQLSERVER通用儲存過程

USE [DataBase] GO /****** Object: StoredProcedure [dbo].[CommonPagenation] Script Date: 06/28/2016 10:41:58 ******/ SET ANSI_NULLS ON GO

SQL 分割字串和通用查詢儲存過程

USE [sg]  --使用某個資料庫 GO /****** Object:  StoredProcedure [dbo].[findTableIndex]    Script Date: 2017/4/1 17:02:58 ******/ SET ANSI_NULLS

Oracle學習筆記 -儲存過程,自增

Oracled 的欄位自增,查詢,遊標的返回,儲存過程。 1,自增(觸發器) //還有一個條件需要增加一個佇列 create or replace TRIGGER MYSYSTEM.CBOUNCEID BEFORE INSERT ON MYSYSTEM.BOUNCERECORD

查詢儲存過程sql語句

--建立分頁的儲存過程 alter procedure proc_page @tabName varchar(50), @pageIndex int=1, @pageSize int=5, @pk varchar(20)='id', @cols varchar(200)

MSSQL的查詢儲存過程

set ANSI_NULLS ON set QUOTED_IDENTIFIER ON go --分頁儲存過程 CREATE PROCEDURE [dbo].[sp_Paging] ( @Tables nvarchar(1000),

MySQL資料庫儲存過程

MySQL的的的的分頁通用的儲存過程可以先寫出這幾行程式碼:SET @ 變數名 = CONCAT('select * from person limit',((1-1)* 5),',',5,''); FROM @變數名;EXECUTE a;當你發現在你的資料庫儲存過程資料夾有

高效sql儲存過程

CREATE proc newgetpage (--預設分頁主鍵為id  @tblName  nvarchar(128),  --表名稱列表  @PageSize  int=10,   --頁尺寸  @PageIndex   int=1,   --當前頁  @fields

-儲存過程5種寫法 sqlserver

在SQL Server資料庫操作中,我們常常會用到儲存過程對實現對查詢的資料的分頁處理,以方便瀏覽者的瀏覽。本文我們總結了五種SQL Server分頁儲存過程的方法,並對其效能進行了比較,接下來就讓我們來一起了解一下這一過程。 建立資料庫data_Test : create

sqlServer儲存過程的呼叫

現象: sqlServer的分頁一直相對比較複雜。這裡使用儲存過程實現分頁邏輯 解決辦法 1:action獲取查詢的條件,初始化每頁顯示的大小,page代表當前檢視第幾頁,預設設定為第一頁。rows表示每頁顯示的大小。sort代表查詢按什麼欄位排序 如果要

【乾貨】SqlServer 總結幾種儲存過程的使用

就我而言寫程式碼最煩的就是處理資料,其中之一就是分頁的使用。 有的程式碼寫多了,總結出一套適用自己的分頁方法;有的查一下資料借鑑一下套用起來也達到目的。 那麼小編在這裡給大家總結幾個方法供大家做一下參考。 分頁方法一: SET ANSI_NULLS ON GO SET QUOTED_IDENT

通用存儲過程

bsp nbsp 總數 sel exist 使用 con 排序 當前頁 if exists(select * from sys.objects where name=‘存儲過程名稱‘)drop proc 存儲過程名稱goCREATE proc 存儲過程名稱@tableNam

MSSQLServer資料庫大量資料按月份表、儲存過程指定時間段跨表查詢

比較完善的大量資料分表功能程式碼,包含建立資料庫、生成資料、測試結果。適合初學分表者使用。 資料按照每個月建立一個數據表,通過儲存過程輸入引數,按照指定日期跨表查詢資料,並且可以分頁查詢。 有如下表: table_20180101table_20180201 table_

mvc,EntityFramework調用存儲過程

mic frame play dbcontext style news logs con procedure 此文講述mvc4+entityframework6+sqlserver2008環境下調用存儲過程,實現分頁。 1、分頁存儲過程代碼如下: 分頁原理用的row_num

項目通用

action ant res () script ret too int end nat 首先在需要分頁的table 下引入這行代碼(引入已經準備好的通用分頁) @Html.Partial("~/Views/Shared/_Pagination.js.csht

sql server存儲過程

order span exe 存儲 數據 reat 過大 where 排序類 因項目需要,一次性查詢出來的數據過大,內存hold不住,所以特意寫成分頁查詢,減小占用內存。 存儲過程如下: USE [XXX] GO SET ANSI_NULLS ON GO SET QU

我的oracle存儲過程

csharp type eat ref .com arch ins rect page create or replace package TX_PKG_PAGEPACKAGE is type TX_RESULTLIST is ref cursor; pr

高效的SQLSERVER方案

以及 時序 增加 運行 因此 enc 擴展 from 當前頁 Sqlserver數據庫分頁查詢一直是Sqlserver的短板,假設有表ARTICLE,字段ID、YEAR,數據53210條(客戶真實數據,量不大),分頁查詢每頁30條,查詢第1500頁(即第45001-4503

存儲過程(代碼)

number bit exec ber into create balloons variable 多少 use BalloonShop select * from Product --20個字,1, 5 CREATE PROCEDURE GetProductsOnC

MS SQL 存儲過程

bsp RF class 自己 mon max sql rec none 最近換了家新公司,但是新公司沒有使用分頁的存儲過程。哎~~,硬著頭皮自己嘗試寫了一個,別說還挺好用的。(效率怎麽樣就不怎麽清除沒有詳細的測試過) CREATE PROCEDURE [dbo].[

存儲過程

asc 過程 output row set pro begin AR rom create proc Usp_getDatabyPage@PageSize int,@PageIndex int,@PageCount int outputasbegin select