SQL分页查询,临时表办法
来源:互联网 发布:ubuntu 关闭休眠 编辑:程序博客网 时间:2024/05/16 06:46
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
alter procedure FiltrPager
(
@MotherBID varchar(20)='',
@BloodType varchar(4)='',
@FiltrStartDate Datetime=null,
@FiltrEndDate datetime=null,
@OperID varchar(20)='',
@TotalCount int outPut,
@pageCount int,
@pageIndex int
)
as
declare @minRowNum int
declare @maxRowNum int
begin
set @minRowNum=(@pageIndex-1)*@pageCount+1
set @maxRowNum=@pageIndex*@pageCount
create table #Temp
(
ID int primary key identity(1,1),
RecordID int
)
declare @sql nvarchar(1000)
set @sql=N'insert into #Temp select RecordID from Filtr_BaseInfo where 1=1'
IF (@MotherBID is not null) and (@MotherBID <> '')
BEGIN
set @sql=@sql+' and MotherBID like '+'''%'+@MotherBID+'%'''
END
IF (@BloodType is not null) and (@BloodType <> '')
BEGIN
set @sql=@sql+' and BloodType='+@BloodType
END
IF (@OperID is not null) and (@OperID <> '')
BEGIN
set @sql=@sql+' and OperID='+@OperID
END
if IsNull(@FiltrStartDate,'')<>'1900-01-01 00:00:00.000'
BEGIN
set @sql=@sql+' and FiltrDate>='+char(39)+Convert(varchar(20),@FiltrStartDate,120)+char(39)
END
IF IsNull(@FiltrEndDate,'')<>'1900-01-01 00:00:00.000'
BEGIN
set @sql=@sql+' and FiltrDate<='+char(39)+Convert(varchar(20),@FiltrEndDate,120)+char(39)
END
exec sp_executesql @sql
SET @TotalCount = ( SELECT COUNT(ID) FROM #Temp)
select a.* from Filtr_BaseInfo a,#Temp b where a.RecordID=b.RecordID and b.ID>=@minRowNum and b.ID<=@maxRowNum
drop table #Temp
end
GO
SET QUOTED_IDENTIFIER ON
GO
alter procedure FiltrPager
(
@MotherBID varchar(20)='',
@BloodType varchar(4)='',
@FiltrStartDate Datetime=null,
@FiltrEndDate datetime=null,
@OperID varchar(20)='',
@TotalCount int outPut,
@pageCount int,
@pageIndex int
)
as
declare @minRowNum int
declare @maxRowNum int
begin
set @minRowNum=(@pageIndex-1)*@pageCount+1
set @maxRowNum=@pageIndex*@pageCount
create table #Temp
(
ID int primary key identity(1,1),
RecordID int
)
declare @sql nvarchar(1000)
set @sql=N'insert into #Temp select RecordID from Filtr_BaseInfo where 1=1'
IF (@MotherBID is not null) and (@MotherBID <> '')
BEGIN
set @sql=@sql+' and MotherBID like '+'''%'+@MotherBID+'%'''
END
IF (@BloodType is not null) and (@BloodType <> '')
BEGIN
set @sql=@sql+' and BloodType='+@BloodType
END
IF (@OperID is not null) and (@OperID <> '')
BEGIN
set @sql=@sql+' and OperID='+@OperID
END
if IsNull(@FiltrStartDate,'')<>'1900-01-01 00:00:00.000'
BEGIN
set @sql=@sql+' and FiltrDate>='+char(39)+Convert(varchar(20),@FiltrStartDate,120)+char(39)
END
IF IsNull(@FiltrEndDate,'')<>'1900-01-01 00:00:00.000'
BEGIN
set @sql=@sql+' and FiltrDate<='+char(39)+Convert(varchar(20),@FiltrEndDate,120)+char(39)
END
exec sp_executesql @sql
SET @TotalCount = ( SELECT COUNT(ID) FROM #Temp)
select a.* from Filtr_BaseInfo a,#Temp b where a.RecordID=b.RecordID and b.ID>=@minRowNum and b.ID<=@maxRowNum
drop table #Temp
end
0 0
- SQL分页查询,临时表办法
- 利用临时表、REF游标、动态SQL实现分页查询
- 临时表的分页SQL
- Sql查询插入临时表
- SQL临时表的创建+查询
- SQL临时表/储存过程法自定义分页
- SQL常用分页的办法
- SQL常用分页的办法
- SQL常用分页的办法
- SQL查询遍历数据方法一 [ 临时表 + While循环]
- SQL 更新临时表 自定义查询格式 存储过程
- SQL临时表递归查询子信息并返回记录
- SQL查询SQLSERVER数据库中的临时表结构脚本
- SQL查询SQLSERVER数据库中的临时表结构脚本
- sql从查询结果创建一个临时表
- sql查询时使用临时表的速度问题
- SQL临时表查询所有子节点数据
- sql 复杂查询 多表查询 分页查询
- 数据挖掘的流程
- 判断ios设备的型号
- 黑马程序员————OC中Foundation框架知识总结
- 触摸屏技术未来?详解Apple新手段Force Touch
- Dialog集合
- SQL分页查询,临时表办法
- C语言中位计算
- 更新版本检查
- 第三周 项目五-数组做数据成员(二)
- C++读写EXCEL文件方式比较 .
- 普通JavaEE项目的Maven POM配置(2015年3月)
- Sublime Text 3 开发编辑神器 以及插件安装。(上)
- Emacs查找替换(1)
- Matcher