SQL SERVER分页存储过程转为oracle 分页存储过程
时间:2011-12-17
来源:互联网
SQL code
哪位大虾能帮帮忙.. 如题转成ORACLE 存储过程....
CREATE PROCEDURE PAGESELECT @SQLPARAMS varchar(8000)='', --查询条件 @PAGESIZE int=20,--每页的记录数 @PAGEINDEX int=0, --第几页,默认第一页 @SQLTABLE varchar(5000),--要查询的表或视图,也可以一句sql语句 @SQLCOLUMNS varchar(4000),--查询的字段 @SQLPK varchar(50),--主键 @SQLORDER varchar(200),--排序 @Count int=-1 output AS BEGIN SET NOCOUNT ON; DECLARE @PAGELOWERBOUND INT DECLARE @PAGEUPPERBOUND INT DECLARE @SQLSTR nvarchar(4000) --获取记录数 IF @PAGEINDEX=0 --可根据实际要求修改条件,如果是总是获取记录数 BEGIN set @SQLSTR=N'select @sCount=count(1) FROM '+@SQLTABLE+' WHERE 1=1'+@SQLPARAMS Exec sp_executesql @sqlstr,N'@sCount int outPut',@Count output END ELSE BEGIN SET @COUNT =-1 END SET @PAGELOWERBOUND= @PAGEINDEX *@PAGESIZE+1 SET @PAGEUPPERBOUND = @PAGELOWERBOUND +@PAGESIZE-1 IF @SQLORDER='' BEGIN SET @SQLORDER='ORDER BY '+@SQLPK END SET @SQLSTR=N'SELECT * FROM (select '+@SQLCOLUMNS+',ROW_NUMBER() Over('+@SQLORDER+') as PAGESELECT_rowNum FROM '+@SQLTABLE+' WHERE 1=1'+@SQLPARAMS+ ') as PAGESELECT_TABLE where PAGESELECT_rowNum between '+STR(@PAGELOWERBOUND)+' and '+STR(@PAGEUPPERBOUND)+' ' Exec sp_executesql @SQLSTR SELECT @COUNT END
哪位大虾能帮帮忙.. 如题转成ORACLE 存储过程....
作者: net_feino88 发布时间: 2011-12-17
跪求啊!!
作者: net_feino88 发布时间: 2011-12-17
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28