Oracle 存储过程/function 返回结果集

在工作中可能会碰到编写数据库存储过程或者函数,这个时候肯定会考虑到自己所写的函数或是过程是否有返回值,若有,则返回什么值的问题。今天写一下如何返回结果集,当做自己的笔记。

如果要返回结果集,那么需要先定义好这个结果集。

创建部分:

  create or replace package <返回结果集的类型名称>(例如 myType)
    as
    type <返回结果集的类型名称>(例如 myType)  is ref cursor;
 end;

 

然后是方法体部分:

create or replace function <方法名>(<参数名> <参数类型>(无长度))
return myType.myType(接上例)
is
 rs myType.myType;
 sqlStr varchar2(2000);
 begin
   sqlStr:=‘select * from XXX’;
   open rs for sqlStr;
   return rs;
   end;

以上是一个简单的返回结果集的function例子。当然,存储过程也是一样的。

在java端取获得这个结果集的方式根据使用不一样的数据交互方式的不同而不同。

相关推荐

Oracle存储过程返回结果集

该文档详细讲解Oracle在存储过程中如何利用Out参数返回一个结果集。示例简单易懂。

Oracle function 函数返回结果集的三种方法

Oracle 创建函数function返回结果集的三种方式

Raphael的博客 9205

oracle的存储过程如何返回结果集

oracle的存储过程如何返回结果集 oracle的存储过程如何返回结果集 oracle的存储过程如何返回结果集

Oracle中过程/函数返回结果集

http://www.cnitblog.com/wufajiaru/archive/2009/04/28/56796.html Oracle 存储过程返回结果集 关键字: 转载 Sql代码 Oracle 存储过程返回结果集       过程返回记录集:     CREATE OR REPLACE PACKAGE pkg_test     AS

走马观花 2189

拯救者R7000P(2021)装双系统Ubuntu20.04 解决联发科MT7921无线网卡在Ubuntu中不能联网

拯救者R7000P(2021)装双系统Ubuntu20.04/Ubuntu18.04 电脑配置:联想拯救者R7000P CPU:AMD R7-5800H GPU:RTX3060-6G 内存:16GB 固态:500G(原装)+500(加装) 1.做系统盘(本文以Ubuntu20.04为例) 1.下载Ubuntu20.04镜像 直接去Ubuntu官网或者一些国内的镜像去下载都可以,这里给出一个网址https://ubuntu.com/download/desktop,根据需要下载自己学要的Ubuntu版本,后缀

qq_41108639的博客 1万+

Android:Google三方库之Adjust集成详细步骤

Android为APP添加google adjust功能

学习就是我的个性 4477

oracle 存储过程返回结果集合

  oracle的存储过程和其他的不同,返回结果集合要用游标来传递,同时存储过程要定义在package程序包中。 一、传递一个参数,返回一个结果集 1.先创建程序包和包体,两者关系类似类和类中的方法 create or replace package test_package is          type resCursor is ref cursor;         proced...

xudong的博客 8705

LabVIEW+数据库应用系列保姆级教程,第一篇数据库连接

目录LabVIEW连接数据库的方法连接MySQL连接Oracle,SQL Server,Access等 LabVIEW连接数据库的方法 1、创建udl(Universal Data Link)是通用数据连接文件。界面操作,简单快捷。 2、编写连接字符串。需要熟悉连接字符串的结构,容易出错。 3、其他… 本教程教你使用第1种方法,也是最简单、最常用的方法。 连接MySQL 1、在MySQL Installer内安装MySQL Connector/ODBC,建议安装32位(X86),如下图: 2、创建ODBC

wwplh5520370的博客 1万+

Java 调用 Oracle 存储过程返回结果集

Oracle 存储过程返回结果集用 ref cursor 实现。试验步骤如下:1. 建立 ref cursor 类型和过程CREATE OR REPLACE PACKAGE typesAS    TYPE ref_cursor IS REF CURSOR;END;/CREATE TABLE STOCK_PRICES(    RIC VARCHAR(6) PRIMARY KEY,    PRICE

xzyrose的专栏 3185

从寄存器配置到G值:一份给STM32开发者的SC7A20加速度数据换算保姆级指南

本文为STM32开发者提供SC7A20三轴加速度传感器的数据换算保姆级指南,详细解析从寄存器配置到G值转换的全过程。涵盖量程选择、输出值换算原理及优化代码实现,帮助开发者快速掌握加速度数据的物理意义转换技巧,提升运动感知系统开发效率。

weixin_29172963的博客 174

Windows平台无人机仿真:从零搭建SITL环境与QGC联调

本文详细指导了在Windows平台上从零搭建无人机软件在环(SITL)仿真环境,并与QGroundControl(QGC)进行联调的完整流程。通过使用Cygwin工具链,开发者可以在没有实体硬件的情况下,模拟运行ArduPilot飞控,并通过MAVLink协议连接QGC地面站进行全功能测试,为无人机软件开发提供了一个安全、经济的虚拟沙盒环境。

weixin_29239279的博客 412

C#调用Oracle存储过程或函数返回结果集效率测试

C#调用Oracle存储过程或函数返回结果集效率测试

binsweet的专栏 3439

BACnet/IP BBMD跨网段通信深度解析与最佳实践

本文介绍了在BACnet/IP网络中通过BBMD实现跨子网设备通信的关键配置方法。重点阐述了广播分发表(BDT)中掩码设置的重要性:使用子网掩码(255.255.255.0)会导致路由器拦截广播消息,而必须采用主机掩码(255.255.255.255)才能启用单播隧道机制,使BACnet广播消息封装为可路由的单播UDP包。文章详细说明了BDT条目的正确配置格式、BIP广播地址的作用,并提供了验证步骤,强调在跨网段场景中,正确设置掩码是确保设备发现和通信成功的关键因素。

零一架构师的专栏 1538

Oracle中函数/过程返回多个值(结果集)

Oracle中函数/过程返回结果集的几种方式: 以函数return为例,存储过程只需改为out参数即可,在oracle 10g测试通过. (1) 返回游标: return的类型为:SYS_REFCURSOR 之后在IS里面定义变量:curr SYS_REFCURSOR; 最后在函数体中写: open cur for select ...

weixin_30872867的博客 1万+

SAP CPI 之使用国密算法实现SM系列算法加解密

System.out.println("SM2-私钥:" + privateKey);System.out.println("SM2-公钥:" + publicKey);System.out.println("SM2-密文:" + encrypts);System.out.println("SM2-明文:" + data2);新建groovy,通过import之后,调用jar包中的方法。在CP中导入jar包,选择Upload,选中导入的jar包。的密钥和向量值,不安全!的公钥和私钥,不安全!

u012830826的博客 1335

ESP32-C3入门教程 问题篇⑳——subprocess.CalledProcessError: Command ‘[‘D:\\.espressif\\python_env\\idf5.4_py3.

ESP32-C3入门教程 问题篇⑳——subprocess.CalledProcessError: Command '['D:\\.espressif\\python_env\\idf5.4_py3.

773

C#调用ORACLE存储过程返回结果集及函数

ORACLE段:首先在ORACLE建立PACKAGE和PACKAGE BODY,将在这里面定义函数和存储过程返回结果集。1:建立PACKAGE:CREATE OR REPLACE package SCOTT.pk_wtistype mytype is ref cursor;procedure p_wt(mycs out mytype);function f_get(str in varchar2)

王涛的BLOG 1596

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

c#调用oracle存储过程返回结果集及函数

 ORACLE段:首先在ORACLE建立PACKAGE和PACKAGE BODY,将在这里面定义函数和存储过程返回结果集。1:建立PACKAGE:CREATE OR REPLACE package SCOTT.pk_wtistype mytype is ref cursor;procedure p_wt(mycs out mytype);function f_get(str in varcha

生活要快乐 - 魏言 735

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

oracle怎么存储判断结果集,Oracle中返回结果集的存储过程分享

Oracle不像SQLServer那样在存储过程中用Select就可以返回结果集,而是通过Out型的参数进行结果集返回的。实际上是利用REF CURSOR复制代码代码如下:--procedure返回记录集:----------------------声明一个Package--------------CREATE OR REPLACE PACKAGE pkg_testASTYPEmyrctypeIS...

weixin_39778815的博客 376

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

JAVA调用ORACLE的存储过程、函数的返回结果集例子

以下开发例子参见两个附件的图片: JAVA调用ORACLE的存储过程、函数的返回结果集的JAVA开发界面.JPG JAVA调用ORACLE的存储过程、函数的返回结果集的PL-SQLDEPVELOPER界面.JPG 具体过程如下: --例子开发工具: oralce数据库版本:oralce9i ,10G oralce的...

uoanlove的博客 445

Oracle中怎么返回多个函数值,Oracle中函数/过程返回多个值(结果集)

Oracle中函数/过程返回结果集的几种方式:以函数return为例,存储过程只需改为out参数即可,在oracle 10g测试通过.(1) 返回游标:return的类型为:SYS_REFCURSOR之后在IS里面定义变量:curr SYS_REFCURSOR;最后在函数体中写: open cur for select ......; r...

weixin_31881743的博客 7419

oracle存储返回结果,Oracle 存储过程返回结果集用

Oracle 存储过程返回结果集用 ref cursor 实现。试验步骤如下:1. 建立 ref cursor 类型和过程CREATE OR REPLACE PACKAGE typesASTYPE ref_cursor IS REF CURSOR;END;/CREATE TABLE STOCK_PRICES(RIC VARCHAR(6) PRIMARY KEY,PRICE NUMBER(7,2),...

weixin_35989968的博客 482

oracle调用存储过程和函数返回结果集

      在程序开发中,常用到返回结果集的存储过程,这个在mysql和sql server 里比较好处理,直接返回查询结果就可以了,但在oracle里面 要 out 出去,就多了一个步骤,对于不熟悉的兄弟们还得出上一头汗:),这里我简单介绍一下,以供参考,   1  定义包      oracle 返回的结果集需要自定义一个 CURSOR (游标变量)性质的变量,这个要在包头定义,所以要建立一...

五月天的博客 241

oracle 函数循环结果集,【ORACLE】用FUNCTION动态获得结果集

主要说明RETURNPIPELINED,经验者请绕道。最近我得到了一个需求:要求为method传入String,内容如用户ID0,用户ID1,用户ID2...,然后根据这些ID返回一个结果集作正好ORACLE方面博客还没有这方面内容,趁此机会便写一小段。既然我们要返回一个结果集,那便是要得到一个TABLE OF XXX类型,XXX可以是VARCHAR2或者INTEGER或者某个表的%ROWTYPE...

weixin_35779506的博客 914
上一篇: 定时器第二集
下一篇: SC(smart Client)组件编写笔记
vortex331
博客等级 码龄16年 0粉丝 62原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值