收录日期:2019/03/27 11:13:29 时间:2016/05/18 06:55:15 标签:基础类
CREATE PROCEDURE zpxxpageview  
(
@m_cname nvarchar(30),
@int_pagenow int=1,              
@int_pagesize int=7


AS 
set nocount on 

declare @int_allid int         
declare @int_beginid int,@int_endid int    
declare @int_pagebegin int, @int_pageend int 
     
select @int_allid=count(*) from zpxx where cname =@m_cname    
             
    declare cro_fastread cursor scroll 
    for select zpxxid from zpxx where cname =@m_cname order by zpxxid desc
      
    open cro_fastread 
    select @int_beginid=(@int_pagenow-1)*@int_pagesize+1
    select @int_endid = @int_beginid+@int_pagesize-1
     
    fetch absolute  @int_beginid from cro_fastread into @int_pagebegin 
    if @int_endid>@int_allid
        fetch last from cro_fastread into @int_pageend
    else 
        fetch absolute @int_endid from cro_fastread into @int_pageend           
    

select citydata.name cityname,zpxx.zwmc,zpxx.zpls,zpxx.fbdate,zpxx.stopdate,zpxxstate.name,zpxx.zpxxid,zpxx.xgdate
from citydata,zpxxstate,zpxx 
where zpxx.cname=@m_cname and zpxx.zpxxid >=@int_pageend and zpxx.zpxxid<=@int_pagebegin and zpxx.gzddbh=citydata.citybh and zpxx.state=zpxxstate.zpxxstatebh   ORDER BY zpxx.zpxxid desc


    close cro_fastread           
    deallocate cro_fastread 
     
    return
GO

其中的表都是自已建的,改掉就可以给别的表用了
@m_cname nvarchar(30),
@int_pagenow int=1,              
@int_pagesize int=7
传进来的三个参数
@m_cname 主键
@int_pagenow 当前页数
@int_pagesize 每页的条数


中间用了游标,不知道对性能有没有影响
大家如果有更好的分页存储过程写上来看一下啊
declare @SQLStr varchar(8000)
set @SQLStr='SELECT Top '+cast(@每页大小 as varchar)+' * FROM 表 WHERE 主键列 NOT IN (SELECT TOP '+cast(@每页大小*@第几页 as varchar)+' 主键列 from 表 )'
exec(@SQLStr)
select IDENTITY(int, 1,1) AS ID_Num,* into #temp from 表
select * from #temp where ID_Num between 10 and 20
其中的表都是自已建的,改掉就可以给别的表用了
@m_cname nvarchar(30),
@int_pagenow int=1,              
@int_pagesize int=7
1、可能不可行,有可能某表有多个主建
2、采用游标单条循环,如果记录比较大,效率非常低
最快   ???
通用   ?????
有没有又快又好的分页存储过程啊
Mark

windows 下驱动程序开发调试都在虚拟机上吗? 请教各位高手一个shell 求助!!!mfc设计一个界面显示一张地图(时时更新) C++线程读文件 菜鸟求教,一个不好的问题……比语句,哪个好 (这个需求有多大难度) MVC中,如何从ModelMetadata中获取所有属性列表 JAVA程序员转DBA哪些事情是必须做的 MSSQL LEFT JOIN 如果右边有值取给定字段的最大值 一个ajax方法 动态创建控件 ,另一个ajax方法查找控件 数据库异常断电,起不起来了,那位大神看一下,怎么解决? 貌似是控制文件的问题。 求教 把包含汉字的数组输出到文件,其他地方调用读取为数组 对象的当前状态使该操作无效...急急急~ Operation not supported on read-only collection.错误 如何获取浏览器的尺寸呢? 急急急!C#接收UDP数据包如何加一个缓存机制减少丢包 【请教】关于JNI中一个类型转换的问题 android按键值的范围 combobox 数据库更新 MFC 对话框 ubuntu10.04的nautilus进程内存占用超大 数据处理 怎样判断google map 是街景模式? 新人对职场的困惑 能用一条语句删除两个表的记录么? post请求下载excel文件 DocBook写技术文档中的超链接问题 【灰熊给力】我第一次押你啊【干掉雷霆】 JQUERY EASYUI 好久没用 不知道哪出问题了 帮忙瞧瞧 ORACLE 求解