這個儲存過程用來資料的分頁,裡面構造的乙個函式實現這個功能;
if object_id('fenye','p') is not null
/*判斷是否存在fenye這個儲存過程*/
drop proc fenye go create procedure [dbo].[fenye] @currentpage int=1,
/*記錄當前的頁數,初始值為1*/
@count int=10,
/*每乙個頁面所顯示的資料量*/
@tablename varchar(20),
/*所查詢的表的名字*/
@colunm varchar(20)
/*表中查詢的字段*/
as declare @sql nvarchar(1000)
/*定義查詢字段變數*/
set @sql=n'select top '+ cast(@count as nvarchar(3))
/*將字串變數轉換成字元型*/
set @sql=@sql+n' * from '+@tablename+' where '+@colunm+' not in (' set @sql=@sql+n' select top '+cast(((@currentpage-1)*@count) as nvarchar(3)) set @sql=@sql+@colunm+n' from '+@tablename+')' select @sql
/*顯示出插敘語句*/
exec (@sql) go
exec fenye 1,3,'dbo.article_comment','articleid'
/*執行查詢*/
go/*這裡面是構造查詢所有資料記錄的條數的函式*/
declare @temp nvarchar(500) declare @tablename nvarchar(50) declare @count int set @tablename=n'dbo.article_comment' set @temp=n' select @a=count(*) from '+@tablename exec sp_executesql @temp ,n'@a int output',@count output
/*呼叫的是系統中的乙個函式 sp_executesql(執行的sql語句,輸出變數的函式型別,輸出變數的函式)*/
select @count
資料分頁 儲存過程
if exists select from sys.objects where name pagination drop procedure pagination gocreate procedure pagination tblname nvarchar 255 表名 strgetfields n...
資料分頁 儲存過程
if exists select from sys.objects where name pagination drop procedure pagination gocreate procedure pagination tblname nvarchar 255 表名 strgetfields n...
分頁儲存過程 分頁儲存過程
分頁儲存過程 alter proc dbo p pageshow pagesize int,每頁大小 currentpage int out,當前頁 housename nvarchar 50 房產名稱 totalcount int out,總記錄數 totalpage int out 總頁數 as...