存储过程里分页的例子

  1  /****** Object:  StoredProcedure [dbo].[CBM_ProjectInfo_BudgetInfo]    Script Date: 2016/10/20 16:10:06 ******/
  2 SET ANSI_NULLS ON
  3 GO
  4
  5 SET QUOTED_IDENTIFIER ON
  6 GO
  7
  8
  9 create proc [dbo].[CBM_ProjectInfo_BudgetInfo]
 10  @Pagesize int,
 11  @CurrentPageIndex int,
 12
 13  @xmmc varchar(400),--项目名称
 14  @pm varchar(50),--项目经理
 15  @Flag varchar(3)--1 未初始化 2-金额为0
 16
 17  as
 18 begin
 19    create Table #temp_table(RowGuid varchar(50),
 20                             ContractName varchar(500),
 21                             LiXiangRenDeptGuid varchar(50),
 22                             [Year] int,
 23                             weihu_ET  datetime,
 24                             ZongJinE_HT decimal(18,2),
 25                             ZongJinE_LX decimal(18,2),
 26                             KeHuGuid varchar(50),
 27                             LiXiangRenGuid varchar(50),
 28                             DiQuValue varchar(50),
 29                             XiangMuBH varchar(50),
 30                             XiangMuMC varchar(500),
 31                             KeHuDW varchar(50),
 32
 33                             LiXiangRen varchar(50),
 34                             LiXiangSJ datetime,
 35                             HeTongZT varchar(50),
 36                             ProjectRank varchar(50),
 37                             JinZhanJD varchar(50),
 38                             MaintenanceType varchar(50),
 39                             XiangMuLX varchar(50),
 40
 41                             IsGuiDang varchar(50),
 42                             recordtype varchar(50),
 43                             FinishPersent decimal(18,2),
 44                             CheckFrequency decimal(18,0),
 45                             ProcessVersionInstanceGuid varchar(50),
 46                             SoftMoney decimal(18,2),
 47                             LastCheckTime datetime,
 48                             LastSetTime datetime,
 49                             IsYY varchar(50),
 50                             ProjectManager varchar(50),
 51
 52                             BudgetGuid1 varchar(50),--标前 1
 53                             BudgetName1 varchar(500),
 54                             Total1 decimal(10,0),
 55                             TotalA1 decimal(10,0),
 56                             Total_Remain1 decimal(10,0),
 57                             IsHave1 varchar(3),
 58
 59                             BudgetGuid2 varchar(50),--标后 2
 60                             BudgetName2 varchar(500),
 61                             Total2 decimal(10,0),
 62                             TotalA2 decimal(10,0),
 63                             Total_Remain2 decimal(10,0),
 64                             IsHave2 varchar(3),
 65
 66                             BudgetGuid3 varchar(50),--生产任务单 3 (包括采购-7 和指定外包-8)
 67                             BudgetName3 varchar(500),
 68                             Total3 decimal(10,0),
 69                             TotalA3 decimal(10,0),
 70                             Total_Remain3 decimal(10,0),
 71                             IsHave3 varchar(3),
 72
 73                             BudgetGuid4 varchar(50),--维护 4
 74                             BudgetName4 varchar(200),
 75                             Total4 decimal(10,0),
 76                             TotalA4 decimal(10,0),
 77                             Total_Remain4 decimal(10,0),
 78                             IsHave4 varchar(3),
 79
 80                             BudgetGuid5 varchar(50),--验收 5
 81                             BudgetName5 varchar(500),
 82                             Total5 decimal(18,0),
 83                             TotalA5 decimal(18,0),
 84                             Total_Remain5 decimal(18,0),
 85                             IsHave5 varchar(3)
 86                             )
 87
 88     create Table #temp_table2(RowGuid varchar(50),
 89                             ContractName varchar(500),
 90                             LiXiangRenDeptGuid varchar(50),
 91                             [Year] int,
 92                             weihu_ET  datetime,
 93                             ZongJinE_HT decimal(18,2),
 94                             ZongJinE_LX decimal(18,2),
 95                             KeHuGuid varchar(50),
 96                             LiXiangRenGuid varchar(50),
 97                             DiQuValue varchar(50),
 98                             XiangMuBH varchar(50),
 99                             XiangMuMC varchar(500),
100                             KeHuDW varchar(50),
101
102                             LiXiangRen varchar(50),
103                             LiXiangSJ datetime,
104                             HeTongZT varchar(50),
105                             ProjectRank varchar(50),
106                             JinZhanJD varchar(50),
107                             MaintenanceType varchar(50),
108                             XiangMuLX varchar(50),
109
110                             IsGuiDang varchar(50),
111                             recordtype varchar(50),
112                             FinishPersent decimal(18,2),
113                             CheckFrequency decimal(18,0),
114                             ProcessVersionInstanceGuid varchar(50),
115                             SoftMoney decimal(18,2),
116                             LastCheckTime datetime,
117                             LastSetTime datetime,
118                             IsYY varchar(50),
119                             ProjectManager varchar(50),
120
121                             BudgetGuid1 varchar(50),--标前 1
122                             BudgetName1 varchar(500),
123                             Total1 decimal(10,0),
124                             TotalA1 decimal(10,0),
125                             Total_Remain1 decimal(10,0),
126                             IsHave1 varchar(3),
127
128                             BudgetGuid2 varchar(50),--标后 2
129                             BudgetName2 varchar(500),
130                             Total2 decimal(10,0),
131                             TotalA2 decimal(10,0),
132                             Total_Remain2 decimal(10,0),
133                             IsHave2 varchar(3),
134
135                             BudgetGuid3 varchar(50),--生产任务单 3 (包括采购-7 和指定外包-8)
136                             BudgetName3 varchar(500),
137                             Total3 decimal(10,0),
138                             TotalA3 decimal(10,0),
139                             Total_Remain3 decimal(10,0),
140                             IsHave3 varchar(3),
141
142                             BudgetGuid4 varchar(50),--维护 4
143                             BudgetName4 varchar(500),
144                             Total4 decimal(10,0),
145                             TotalA4 decimal(10,0),
146                             Total_Remain4 decimal(10,0),
147                             IsHave4 varchar(3),
148
149                             BudgetGuid5 varchar(50),--验收 5
150                             BudgetName5 varchar(500),
151                             Total5 decimal(18,0),
152                             TotalA5 decimal(18,0),
153                             Total_Remain5 decimal(18,0),
154                             IsHave5 varchar(3)
155                             )
156
157     --初始化人员信息
158     insert into #temp_table(RowGuid,ContractName,LiXiangRenDeptGuid,[Year],weihu_ET,ZongJinE_HT,ZongJinE_LX,KeHuGuid,LiXiangRenGuid,
159                             DiQuValue,XiangMuBH,XiangMuMC,KeHuDW,LiXiangRen,LiXiangSJ,HeTongZT,ProjectRank,JinZhanJD,MaintenanceType,
160                             XiangMuLX,IsGuiDang,recordtype,FinishPersent,CheckFrequency,ProcessVersionInstanceGuid,SoftMoney,
161                             LastCheckTime,LastSetTime,IsYY,ProjectManager,
162                             BudgetGuid1,BudgetName1,Total1,TotalA1,Total_Remain1,IsHave1,
163                             BudgetGuid2,BudgetName2,Total2,TotalA2,Total_Remain2,IsHave2,
164                             BudgetGuid3,BudgetName3,Total3,TotalA3,Total_Remain3,IsHave3,
165                             BudgetGuid4,BudgetName4,Total4,TotalA4,Total_Remain4,IsHave4,
166                             BudgetGuid5,BudgetName5,Total5,TotalA5,Total_Remain5,IsHave5
167                              )
168                     (select RowGuid,ContractName,LiXiangRenDeptGuid,[Year],weihu_ET,ZongJinE_HT,ZongJinE_LX,KeHuGuid,LiXiangRenGuid,
169                             DiQuValue,XiangMuBH,XiangMuMC,KeHuDW,LiXiangRen,LiXiangSJ,HeTongZT,ProjectRank,JinZhanJD,MaintenanceType,
170                             XiangMuLX,IsGuiDang,recordtype,FinishPersent,CheckFrequency,ProcessVersionInstanceGuid,SoftMoney,
171                             LastCheckTime,LastSetTime,IsYY,‘‘,
172                             ‘‘,‘‘,null,null,null,‘0‘,
173                             ‘‘,‘‘,null,null,null,‘0‘,
174                             ‘‘,‘‘,null,null,null,‘0‘,
175                             ‘‘,‘‘,null,null,null,‘0‘,
176                             ‘‘,‘‘,null,null,null,‘0‘
177                             from View_ProjectManage WHERE JinZhanJD IN (‘16‘,‘15‘,‘18‘,‘20‘,‘21‘,‘19‘))
178
179     update     #temp_table set  ProjectManager=b.username from #temp_table a,ProjectUsers b where a.RowGuid=b.projectguid and RoleID=‘31‘ and IsMain=‘1‘
180
181     update #temp_table set BudgetGuid1=b.RowGuid,BudgetName1=b.BudgetName,Total1=b.Total,TotalA1=b.TotalA,Total_Remain1=b.Total-b.TotalA,IsHave1=‘1‘
182            from #temp_table a,CBM_BudgetInfo b where b.ProjectGuid=a.RowGuid and (b.PBudgetGuid is null or b.PBudgetGuid=‘‘)  and b.BudgetForm=1
183
184     update #temp_table set BudgetGuid2=b.RowGuid,BudgetName2=b.BudgetName,Total2=b.Total,TotalA2=b.TotalA,Total_Remain2=b.Total-b.TotalA,IsHave2=‘1‘
185            from #temp_table a,CBM_BudgetInfo b where b.ProjectGuid=a.RowGuid and (b.PBudgetGuid is null or b.PBudgetGuid=‘‘)  and b.BudgetForm=2
186
187     update #temp_table set BudgetGuid3=b.RowGuid,BudgetName3=b.BudgetName,Total3=b.Total,TotalA3=b.TotalA,Total_Remain3=b.Total-b.TotalA,IsHave3=‘1‘
188            from #temp_table a,CBM_BudgetInfo b where b.ProjectGuid=a.RowGuid and (b.PBudgetGuid is null or b.PBudgetGuid=‘‘)  and b.BudgetForm=3
189
190     update #temp_table set BudgetGuid4=b.RowGuid,BudgetName4=b.BudgetName,Total4=b.Total,TotalA4=b.TotalA,Total_Remain4=b.Total-b.TotalA,IsHave4=‘1‘
191            from #temp_table a,CBM_BudgetInfo b where b.ProjectGuid=a.RowGuid and (b.PBudgetGuid is null or b.PBudgetGuid=‘‘)  and b.BudgetForm=4
192
193     update #temp_table set BudgetGuid5=b.RowGuid,BudgetName5=b.BudgetName,Total5=b.Total,TotalA5=b.TotalA,Total_Remain5=b.Total-b.TotalA,IsHave5=‘1‘
194            from #temp_table a,CBM_BudgetInfo b where b.ProjectGuid=a.RowGuid and (b.PBudgetGuid is null or b.PBudgetGuid=‘‘)  and b.BudgetForm=5
195
196    if(@Flag=‘0‘)
197    begin
198
199     insert into #temp_table2 select * from #temp_table where #temp_table.XiangMuMC like ‘%‘[email protected]+‘%‘ and #temp_table.projectmanager like ‘%‘[email protected]+‘%‘
200     end
201
202    if(@Flag=‘1‘)
203    begin
204
205      insert into #temp_table2 select * from #temp_table where #temp_table.XiangMuMC like ‘%‘[email protected]+‘%‘
206                                 and #temp_table.projectmanager like ‘%‘[email protected]+‘%‘ and #temp_table.IsHave3=0
207      end
208    if(@Flag=‘2‘)
209    begin
210
211       insert into #temp_table2 select * from #temp_table where #temp_table.XiangMuMC like ‘%‘[email protected]+‘%‘
212                                            and #temp_table.projectmanager like ‘%‘[email protected]+‘%‘ and #temp_table.IsHave3=1 and isnull(#temp_table.Total3,0)=0
213    end
214
215   --output
216    declare @StrSql varchar(max)
217    declare @TopIndex int
218    set @TopIndex = (@CurrentPageIndex-1)*@Pagesize
219    set @StrSql=‘select top ‘+str(@Pagesize)+‘ * from #temp_table2 where RowGuid not in (select top ‘+str(@TopIndex)+‘ RowGuid from #temp_table2 order by  LiXiangSJ desc) order by LiXiangSJ desc‘
220
221    exec (@StrSql)
222    select COUNT(*) as TotalCount from #temp_table2
223 end
224
225
226
227 GO

时间: 2024-10-10 17:23:57

存储过程里分页的例子的相关文章

调用存储过程进行分页实例

我在这使用SQL server数据库和我已有的数据库中的表.表名: HKSJ_Main 1.创建存储过程 --该分页的原理 越过多少条,去多少条 create proc P_page --声明参数@size int , --一页取几条@pageindex int,--取第几页@total int out --返回总条数as beginselect top(@size)* from dbo.HKSJ_Main as B where B.ID not in ( select top((@pagein

dblink 的源数据表结构修改后在存储过程里执行报错

原情况:A服务器表A服务器B也有一张表A服务器B上有一个存储过程要把本地的head表向A服务器表里插入数据.变更后:在A服务器表里增加了一个字段inserttime,服务器B存储过程本地表向A服务器插入时,记录插入的时间.问题修改语句如下:insert into [email protected]  select t.*,sysdate from A;这个语句单独执行没有问题.但在存储过程里执行一直报错,报值过多. 解决: 猜想可能是dblink的问题,把原来的dblink删除,重新新建一个db

ThinkPHP分页使用例子(二十一)

原文:ThinkPHP分页使用例子(二十一) ThinkPHP分页使用 PHP代码: public function fenye(){ $User = M('Leyangjun'); // 实例化User对象 import('ORG.Util.Page');// 导入分页类 $count      = $User->count();// 查询满足要求的总记录数 $Page       = new Page($count,2);// 实例化分页类 传入总记录数和每页显示的记录数 $show    

SQL 用户定义表类型,在存储过程里使用数据类型作參数

在数据库编程里使用数据类型,能够提高代码的重用性.它们常常被使用在方法和存储过程中.使用数据类型,我们能够避免在存储过程里定义一串的參数,让人眼花缭乱,它就相当于面向对象语言里.向一个方法里传入一个对象,而该对象有各种属性,存储过程仅仅须要获取这个对象就能获取到各个參数,然后做出对应的处理.有所不同的是SQL的表类型是能够包括多条数据的.到底是怎么一回事,且看以下的样例. 1. 首先我创建了一个学生表,包括四个字段,主键是从1開始的自增长型. GO CREATE TABLE STUDENT( I

sql存储过程几个简单例子

导读:sql存储是数据库操作过程中比较重要的一个环节,对于一些初学者来说也是比较抽象难理解的,本文我将通过几个实例来解析数据库中的sql存储过程,这样就将抽象的事物形象化,比较容易理解. 例1: create proc proc_stu @sname varchar(20), @pwd varchar(20) as select * from ren where [email protected] and [email protected] go 查看结果:proc_stu 'admin','a

java连接oracle数据库调用存储过程实现分页查询(emp为例)

第一步:建一个含游标类型的包 sql>create or replace package testPackage as type test_cursor is ref cursor;    --定义名为test_cursor 的游标 end testPackage; 第二步:编写分页的存储过程 sql>create or replace procedure fenYe( tableName in varchar2,--表名 pageSize in number,--每页显示的记录数 pageN

基于Jquery+Ajax+Json+存储过程 高效分页

1 CREATE PROCEDURE [dbo].[PAGINATION] 2 @FEILDS VARCHAR(1000),--要显示的字段 3 @PAGE_INDEX INT,--当前页码 4 @PAGE_SIZE INT,--页面大小 5 @ORDERTYPE BIT,--当为0时 则为 desc 当为1 时 asc 6 @ANDWHERE VARCHAR(1000)='',--where语句 不用加where 7 @ORDERFEILD VARCHAR(100), --排序的字段 8 @T

MyBatis之四:调用存储过程含分页、输入输出参数

在前面分别讲解了通过mybatis执行简单的增删改,多表联合查询,那么自然不能缺少存储过程调用,而且还带分页功能. 注意:表结构参见上篇讲解联合查询的表. 一.查询某班级以及该班级下面所有学生的记录 上面这个查询可以用sql语句表示为: select c.class_id,c.class_name,s.s_id,s.s_name from Class c left join ClassStudent cs on c.class_id = cs.class_id left join Student

c#+oracle存储过程实现分页

1.在oracle的sqlplus或其他工具中运行一下pl/sql块建立存储过程 --------------------------------------------------------------分页存储过程--------------------------------------------------------------创建包create or replace package testpackage astype test_cursor is ref cursor;end t