Oracle 存储过程分页 + Sqlsugar调用

一、Oracle 存储过程分页

 1 create PROCEDURE GetPatientVisitData(
 2     p_HospId IN VARCHAR2, -- 院区编码
 3     p_strDate IN VARCHAR2, -- 开始日期
 4     p_endDate IN VARCHAR2, -- 结束日期
 5     p_page_size IN NUMBER, -- 每页记录数
 6     p_page_number IN NUMBER, -- 当前页码
 7     p_result OUT SYS_REFCURSOR, -- 结果集
 8     p_total_count OUT NUMBER   -- 总记录数
 9 ) AS
10 BEGIN
11     -- 计算总记录数
12     SELECT COUNT(*)
13     INTO p_total_count
14     FROM (
15          SELECT * FROM 表名
16     );
17     -- 分页查询数据
18     OPEN p_result FOR
19     -- 你的查询语句
20     SELECT 字段1,字段2,ROW_NUMBER() OVER (ORDER BY 排序字段) AS rn FROM 表名 AS A
21     --分页
22     WHERE A.rn BETWEEN (p_page_number - 1) * p_page_size + 1 AND p_page_number * p_page_size ;
23 END GetPatientVisitData;
24 /
View Code

二、Sqlsugar 调用

 1 //设置参数
 2                 var parameters = new List<SugarParameter>
 3                 {
 4                     new SugarParameter("p_HospId", HospId),
 5                     new SugarParameter("p_strDate", strDate),
 6                     new SugarParameter("p_endDate", endDate),
 7                     new SugarParameter("p_page_size", pageSize),
 8                     new SugarParameter("p_page_number", page),
 9                     new SugarParameter("p_result", "")
10                         { IsRefCursor = true, Direction = System.Data.ParameterDirection.Output },
11                     new SugarParameter("p_total_count", 0)
12                         { Direction = System.Data.ParameterDirection.Output }
13                 };
14                 //执行存储过程
15                 var resultList = db.Ado.SqlQueryAsync<OutpatientReportStatistics>("BEGIN GetPatientVisitData(:p_HospId, :p_strDate, :p_endDate, :p_page_size, :p_page_number, :p_result, :p_total_count); END;", parameters).Result.ToList();
16                 //总行数
17                 var totalItem = Convert.ToInt32(parameters[6].Value);
View Code

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/829051.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

初次使用 Jetbrains Rider 编写 C#(.Net) 代码

Jetbrains Rider 使用前段时间,Jetbrains公司 公布了 Rider IDE 对非商业用途免费,看到很多业界的朋友都用到这个IDE,今天便下载下来使用一下。 1、界面的差异 Rider的界面跟我前段时间学习调试安卓代码的 Android Studio 的界面很像,布局几乎是一样的。 使用习惯了 Visua…

这些实时互动 AI 场景正在涌现生长,也预示着多模态 AI 的未来|RTE2024 声网CEO赵斌演讲实录

10月25日,在 RTE2024 第十届实时互联网大会主论坛上,声网创始人兼 CEO 赵斌发表了《实时互动十年:从 WebRTC 到生成式 AI 时代的 RTE 》主旨演讲。赵斌认为,生成式 AI 正在驱动 IT 行业发生大变革,这一趋势主要体现在四个层面:终端、软件、云以及人机界面。在这样的时代背…

2024网鼎杯-初赛-青龙组

初赛-青龙组题目附件下载: https://pan.baidu.com/s/1VbieB2XhNYtRqfBeLxguYw?pwd=c03iMisc misc02 ​​生蚝:foremost分离,zsteg对最大的png,得到Y3p_Ke9_1s_????? 搜7z找到压缩包,然后掩码爆破,得到flag.txt,然后写脚本爆破。得到字符串我们先用 foremost 分离题…

闲话 11.8

杂项乱写 11.8别问为啥这么晚才写,因为一天都不知道在干啥,要寄的节奏。11.7 晚轮到 CTH 写字Ratio:程立雪?啥意思,程门立雪?门呢? CTH:让我创掉了。上午把昨天晚上想到的题出了出来,见此。 由于 5k 们要打 nfls,所以只能找团委了,过了 hack 之后直接拿 \(\mathcal{…

Hive的搭建

一、上传解压配置环境变量 1.解压 tar -zxvf apache-hive-3.1.2-bin.tar.gz -C ../2.配置环境变量 vim /etc/profile3、重命名 mv apache-hive-3.1.2-bin hive-3.1.24.使环境变量生效 source /etc/profile 二、修改配置文件 1.拷贝一份文件 cp hive-default.xml.template hive-…

自动泊车端到端算法 ParkingE2E 介绍

01 算法介绍 自主泊车是智能驾驶领域中的一项关键任务。传统的泊车算法通常使用基于规则的方案来实现。因为算法设计复杂,这些方法在复杂泊车场景中的有效性较低。 相比之下,基于神经网络的方法往往比基于规则的方法更加直观和多功能。通过收集大量专家泊车轨迹数据,基于学习…

hive基础知识分享(三)

今天学习hive的最后部分!写在前面 今天继续学习hive部分的知识。 Hive中如何实现行列转换一行变多行 可以对表使用 LATERAL VIEW EXPLODE(),也可以直接使用 EXPLAIN() 函数来处理一行数据。 SELECT name, col1 FROM testarray2 LATERAL VIEW EXPLODE(weight) t1 AS col1;多行…

一文读懂远程控制协议—Remote Control Protocol

RCP是一种轻量级的通信协议,核心理念是将边缘节点控制器中MCU的协议转换功能迁移至区域控制器ZCU甚至中央控制器Central ECU中实现,从而实现针对边缘节点的远程控制,实现网络中软件集中化,边缘节点轻量化。 随着中央计算+区域控制的中央集中式架构广泛应用,10BASE-T…

2024-2025-1 20241305 《计算机基础与程序设计》第七周学习总结

作业信息这个作业属于哪个课程 2024-2025-1-计算机基础与程序设计(https://edu.cnblogs.com/campus/besti/2024-2025-1-CFAP)这个作业要求在哪里 2024-2025-1计算机基础与程序设计第七周作业这个作业的目标 1、数组与链表2、基于数组和基于链表实现数据结构3、无序表与有序表4、…

OSSFileBrowse:OSS存储桶遍历漏洞利用工具

简介: 由于经常遇到存储桶遍历漏洞,直接访问文件是下载,不方便预览,且甲方要求证明该存储桶的危害,因此该工具应运而生。 使用javafx做图形化,kkFileView做文件预览接口。 使用: 命令行运行: java -Dfile.encoding=UTF-8 -jar OSSFileBrowse-1.0-SNAPSHOT.jar或者直接点…

NetExec:新型内网/域渗透工具

免责声明 仅供安全研究与学习之用,若将工具做其他用途,由使用者承担全部法律及连带责任,作者及发布者不承担任何法律及连带责任。简介: NetExec是一款强大的自动化网络安全评估和漏洞测试工具,作为已停止维护的CrackMapExec(CME)的现代替代品,它已被渗透测试人员和红队成…