wolfnash 2013-07-04 08:09 采纳率: 0%
浏览 962

谁能帮忙吧下面的sqlserver存储过程改成oracle版的

谁能帮忙吧下面的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

  • 写回答

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 delta降尺度计算的一些细节,有偿
  • ¥15 Arduino红外遥控代码有问题
  • ¥15 数值计算离散正交多项式
  • ¥30 数值计算均差系数编程
  • ¥15 redis-full-check比较 两个集群的数据出错
  • ¥15 Matlab编程问题
  • ¥15 训练的多模态特征融合模型准确度很低怎么办
  • ¥15 kylin启动报错log4j类冲突
  • ¥15 超声波模块测距控制点灯,灯的闪烁很不稳定,经过调试发现测的距离偏大
  • ¥15 import arcpy出现importing _arcgisscripting 找不到相关程序