谁能帮忙吧下面的sqlserver存储过程改成oracle版的
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE PROCEDURE [dbo].[PagingQuery]
@sql NVARCHAR(4000),
@currentpage int,
@pagesize int,
@count int=0 output
AS SET NOCOUNT ON
DECLARE @ptr
INT EXEC sp_cursoropen @ptr output, @sql, @scrollopt=1, @ccopt=1, @rowcount=@count output
SET @currentpage=(@currentpage - 1) * @pagesize + 1;
EXEC sp_cursorfetch @ptr, 16, @currentpage, @pagesize
EXEC sp_cursorclose @ptr
SET NOCOUNT OFF
GO
谁能帮忙吧下面的sqlserver存储过程改成oracle版的
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
1条回答
- ChatGPTᴼᴾᴱᴺᴬᴵ 2023-01-01 20:51关注
下面是 Oracle 中实现分页查询的存储过程:
CREATE OR REPLACE PROCEDURE PagingQuery( p_sql IN VARCHAR2, p_current_page IN INTEGER, p_page_size IN INTEGER, p_count OUT INTEGER ) AS v_offset INTEGER; v_limit INTEGER; v_query VARCHAR2(4000); BEGIN v_offset := (p_current_page - 1) * p_page_size + 1; v_limit := p_page_size; v_query := 'SELECT * FROM (' || p_sql || ') WHERE ROWNUM BETWEEN ' || v_offset || ' AND ' || (v_offset + v_limit - 1); EXECUTE IMMEDIATE v_query INTO p_count; END;
解决 无用评论 打赏 举报
悬赏问题
- ¥15 关于#matlab#的问题:期望的系统闭环传递函数为G(s)=wn^2/s^2+2¢wn+wn^2阻尼系数¢=0.707,使系统具有较小的超调量
- ¥15 FLUENT如何实现在堆积颗粒的上表面加载高斯热源
- ¥30 截图中的mathematics程序转换成matlab
- ¥15 动力学代码报错,维度不匹配
- ¥15 Power query添加列问题
- ¥50 Kubernetes&Fission&Eleasticsearch
- ¥15 報錯:Person is not mapped,如何解決?
- ¥15 c++头文件不能识别CDialog
- ¥15 Excel发现不可读取的内容
- ¥15 关于#stm32#的问题:CANOpen的PDO同步传输问题