`
1988xuxuxu
  • 浏览: 20851 次
  • 性别: Icon_minigender_1
  • 来自: 大连
文章分类
社区版块
存档分类
最新评论

oracle函数返回数组

 
阅读更多
create or replace type type_table as object(
ID NUMBER,
NAME NUMBER);

create or replace type type_array as TABLE OF type_table;


CREATE OR REPLACE FUNCTION TEST_LCX RETURN TYPE_ARRAY IS
  RESULT    TYPE_ARRAY;
  TABLE_LCX TYPE_TABLE;
BEGIN
  RESULT := TYPE_ARRAY();
  FOR V_ROW IN (SELECT 1 ID, 2 NAME
                  FROM DUAL
                UNION ALL
                SELECT 1 ID, 2 NAME FROM DUAL) LOOP
    TABLE_LCX      := TYPE_TABLE(0, 0);
    TABLE_LCX.ID   := V_ROW.ID;
    TABLE_LCX.NAME := V_ROW.NAME;
    RESULT.EXTEND();
    RESULT(RESULT.LAST) := TABLE_LCX;
  END LOOP;
  RETURN(RESULT);
END TEST_LCX;



CREATE OR REPLACE FUNCTION TEST_LCX1 RETURN TYPE_TABLE IS
  RESULT TYPE_TABLE;
BEGIN
  RESULT := TYPE_TABLE(0, 0);
  SELECT 1 ID, 2 NAME  FROM DUAL;
  RETURN(RESULT);
END TEST_LCX1;
分享到:
评论

相关推荐

    oracle_split_函数_返回数组

    在Oracle数据库中,由于内置函数不直接支持像Java中的`split`那样拆分字符串并返回数组,因此开发者需要自定义函数来实现这一功能。这里提到的两种方法都是为了解决这个问题,即根据指定的分隔符将字符串拆分为一个...

    Java调用oracle函数返回oracle类(类似)集合

    2. **创建Oracle函数返回索引表**: 在PL/SQL中,你可以定义一个函数,使其返回上述索引表类型。下面的`funtry_ret_index`函数创建了一个`sqlindext`类型的实例`array`,并填充了一些值,然后将其返回。 ```sql ...

    java调用存储过程返回数组

    对于存储过程接收或返回数组的情况,Oracle提供了可变数组类型(VARRAY)。在PL/SQL中,可以定义如`USERSEQID_ARRAY`、`USERNAME_ARRAY`和`USERPWD_ARRAY`这样的自定义数组类型。这些类型可以作为输入或输出参数在...

    Oracle数组的使用

    - **FIRST/LAST**:返回数组的第一个或最后一个元素的位置。 - **NEXT/PRIOR**:返回指定元素后或前的一个元素的位置。 - **TRIM**:移除数组尾部的空元素。 #### ASSOCIATIVE ARRAY (Indexed Table) `ASSOCIATIVE...

    oracle function 返回结果集

    首先,我们需要定义一个自定义的表类型`Ns_IIS_GetPeriod_type`,它将用于存储函数返回的结果集。自定义表类型是由单个记录类型组成的数组类型,其中记录类型`Ns_IIS_GetPeriod_table`包含三个字段:描述`dscp`、...

    Oracle中实现Split函数功能

    这个函数使用了 Oracle 的管道化函数(pipelined function)来返回拆分后的结果。函数内部使用了一个循环来拆分字符串,每次循环都会将拆分后的结果返回给调用者。 最后,我们可以使用这个函数来拆分字符串。例如,...

    利用函数返回oracle对象表的三种方法

    本文将详细介绍三种在Oracle中利用函数返回对象表的方法。 首先,要返回对象表,需要先定义一个Oracle对象类型和对应的表类型。例如: ```sql CREATE OR REPLACE TYPE t_test AS OBJECT( EMPNO NUMBER(4), ENAME...

    oracle管道函数用法

    1. **类型兼容性**:确保管道函数返回的类型与定义的集合类型相匹配。 2. **资源消耗**:频繁地使用`PIPEROW`可能会导致较高的系统资源消耗。 3. **调试复杂度**:由于管道函数的特殊性,调试起来可能比普通函数更...

    oracle split函数

    该函数返回 `TY_STR_SPLIT` 类型的结果集,即一个可以包含多个字符串的集合。 ```sql CREATE OR REPLACE FUNCTION fn_split(p_str IN VARCHAR2, p_delimiter IN VARCHAR2) RETURN ty_str_split PIPELINED IS j INT...

    oracle数组定义与使用.pdf

    - 方法一:直接在PL/SQL块中调用返回数组的函数,如`aa := PKG_TCH_COURSE_INIT.Fn_GetTermDate('root', 2);`,然后通过索引访问数组元素。 - 方法二:在SQL查询中使用`INTO`子句接收返回的数组,如`Select Fn_...

    oracle字符串分割自定义函数

    oracle中没有方便分割字符串的的函数,仿照c#中的split方法和网友的方法,并进行了改进,(1)先自定义个类型str_split,(2)分割函数splitstr,返回table;(3)取第n个数组的get_splitstr,用户1,2,3部建好,使用时只需要...

    重写oracle wm_contact函数

    根据提供的文件信息,本文将对重写Oracle中的`wm_concat`函数进行详细的解析与扩展讨论。此函数在Oracle数据库中用于连接多个字符串为一个单一的字符串。原生的`wm_concat`函数虽然能够满足基本需求,但在特定场景下...

    oracle 用表结构创建 type

    1. **函数定义**:定义了一个名为`GET_TYPES`的函数,接受一个`VARCHAR2`类型的参数`ccs_no`,返回`VARCHAR2`类型的结果。 2. **变量声明**: - `cols_s`:用于存储所有列的定义。 - `sqls`:用于存储最终的动态...

    oracle分隔字符串函数

    ### Oracle 分隔字符串函数知识点详解 #### 一、Oracle 分隔字符串函数介绍 在 Oracle 数据库中处理字符串是一项常见的需求,特别是在数据清洗、格式转换等场景下。Oracle 提供了一系列强大的字符串处理函数来帮助...

    java调用oracle存储过程返回结果集,Record,cursor参照.pdf

    5. PACKAGE和PROCEDURE:PACKAGE和PROCEDURE是Oracle中的两个基本概念,分别用于定义一组相关的函数和过程,以及单个过程。 结论 本文介绍了Java调用Oracle存储过程返回结果集Record和Cursor的相关知识点,包括...

    Oracle中引入的JSON函数.pdf

    Oracle Database 12c 第2版(版本12.2)引入了一系列SQL/JSON函数,为数据库开发者提供了处理JSON数据的强大工具。这些函数允许用户直接在数据库层面上操作JSON文档,而无需在应用层面进行转换处理,极大地提高了...

    oracle函数

    1. **ABS(number)**:此函数返回给定数值的绝对值。例如,ABS(-5)将返回5。 2. **ATN(number)**:返回一个数字的反正切值。这是反三角函数的一种,常用于数学和物理计算。 3. **EXP(number)**:返回自然对数底数e...

    Oracle 获取JSON字符串对象的属性值

    然而,Oracle从12c版本开始提供了专门的JSON函数,如`JSON_VALUE`和`JSON_QUERY`,这些函数可以更方便地处理JSON数据,无需手动解析字符串,这在处理复杂的JSON结构时更为推荐。但是,如果你的工作环境限制了使用...

    Oracle Array常用方法封装

    7. **数组长度**: 包含一个函数,返回数组当前包含的元素数量。`ARRAY_LENGTH(Array)`。 8. **数组拷贝**: 实现一个过程,可以复制一个数组到另一个数组,`COPY_ARRAY(DestinationArray, SourceArray)`。 9. **...

Global site tag (gtag.js) - Google Analytics