精华内容
下载资源
问答
  • VB 调用 Oracle 函数返回数据集的例子 VB 调用 Oracle 函数返回数据集的例子 VB 调用 Oracle 函数返回数据集的例子
  • ORACLE 函数返回数据

    千次阅读 2017-03-25 21:28:25
    通过oracle中的函数返回数据集 以学生为例,先定义学生实体数据类型 1.定义学生数据类型 CREATE OR REPLACE TYPE "STUDENT_OBJ" as object (  STUDENT_ID varchar2(10),   STUDENT_NAME varchar2(100)...

    通过oracle中的函数,返回数据集

    以学生为例,先定义学生实体数据类型

    1.定义学生数据类型

    CREATE OR REPLACE TYPE "STUDENT_OBJ" as object
    (  
      STUDENT_ID varchar2(10),       
      STUDENT_NAME varchar2(100),
      STUDENT_NO VARCHAR2(10),
      ClASS_ID varchar2(10),
      CLASS_NAME VARCHAR2(100)  
    )


    2.定义学生数据集 函数将返回这个数据集类型

    CREATE OR REPLACE TYPE "T_STUDENT_OBJ_TABLE" is table of STUDENT_OBJ


    3.编写函数

    包定义

    create or replace package PKG_TEST is
     function fn_get_stu  return T_STUDENT_OBJ_TABLE;
    end PKG_TEST;

    包体

    create or replace package body PKG_TEST is
        function fn_get_stu  return T_STUDENT_OBJ_TABLE IS
          var_out T_STUDENT_OBJ_TABLE;
          
        begin
           var_out := T_STUDENT_OBJ_TABLE();
           var_out.extend(1);
            var_out(var_out.count) := STUDENT_OBJ(
                                          '1',
                                          '张三',
                                          '001',
                                          'c1',
                                          'C班1'
                                      );
          

           var_out.extend(1);
           var_out(var_out.count) := STUDENT_OBJ(
                                          '2',
                                          '李四',
                                          '002',
                                          'c1',
                                          'C班1'
                                      );
           return var_out;
        end fn_get_stu;
    end PKG_TEST;

    4.查询数据集,在应用程序中就可以调用这个方法,返回数据集

    select * from table(select pkg_test.fn_get_stu from dual)

    结果为:



    展开全文
  • ORACLE函数Function返回数据集合

    千次阅读 2015-08-14 18:01:17
    Oracle中的Function可以返回自定义的数据集,记录参考如下:   1,Object对象 /*自定义类型 OBJECT Type*/ CREATE OR REPLACE TYPE EMP_ID_TYPE AS OBJECT(org_cd varchar2(10));   2,Table对象 /*自定义...

    Oracle中的Function可以返回自定义的数据集,记录参考如下:

     

    1,Object对象

    /*自定义类型 OBJECT Type*/

    CREATE OR REPLACE TYPE EMP_ID_TYPE AS OBJECT(org_cd varchar2(10));

     

    2,Table对象

    /*自定义类型 TABLE Type*/

    CREATE OR REPLACE TYPE EMP_ID_TABLE  AS TABLE of EMP_ID_TYPE;

     

    3,编写Function

     

    CREATE OR REPLACE FUNCTION F_EMP_LIST ()

     

    RETURN EMP_ID_TABLE PIPELINED IS

     

     CURSOR emp_list_cursor is

                select  '20001' as emp_id from dual union 

                select  '20002' as emp_id from dual union 

                select  '20003' as emp_id from dual;

     

        v_emp_id_type EMP_ID_TYPE;   --Object对象

        v_emp_id varchar2(5);              --临时变量

     

    BEGIN

     

         OPEN emp_list_cursor;

              loop

                  

                  fetch emp_list_cursor into v_emp_id;

                  exit when emp_list_cursor%notfound;

                  

                  v_emp_id_type := EMP_ID_TYPE(v_emp_id);  --取值

                  PIPE ROW(v_emp_id_type);   --管道

                  

              end loop;

          CLOSE emp_list_cursor;

     

          return;

     

    END;

     

    3,测试SQL

     

    select * from table(F_EMP_LIST);

     

    展开全文
  • Oracle函数返回

    2015-03-16 16:08:10
    Oracle自定义函数返回一张表。主要用于生成一张等时间间隔的表数据
  • oracle 函数返回数据集(如list)

    千次阅读 2017-04-08 09:19:24
    --说明:Oracle函数中无法传递大于4000个字符长度的字符, --可通过以下方法解决:建个临时表,当做list 来存储数据,将要存储的数据都传进该临时表内,然后结果中返回该临时表 --创建表结构类型 CREATE OR REPLACE ...

    --说明:Oracle函数中无法传递大于4000个字符长度的字符,

    --可通过以下方法解决:建个临时表,当做list 来存储数据,将要存储的数据都传进该临时表内,然后结果中返回该临时表

    --创建表结构类型
    CREATE OR REPLACE TYPE JG_TEST_TYPE AS OBJECT (unintinfo VARCHAR2 (1024));
    --创建嵌套表类型
    CREATE OR REPLACE TYPE JG_TEST_LIST AS TABLE OF JG_TEST_TYPE;
    --创建函数
    CREATE OR REPLACE FUNCTION JG_GET_TABLE_TEST1 RETURN JG_TEST_LIST  pipelined IS
          TYPE CUR IS REF CURSOR;
    v_unintinfo JG_TEST_TYPE;--临时变量
    v_num integer;
    c_cur    CUR;
    uuid integer;
    begin
      OPEN c_cur FOR
      select t.uuid  FROM user t;
      LOOP
      fetch c_cur into uuid;
      exit when c_cur%notfound;
    if uuid is not null then
     v_unintinfo:=JG_TEST_TYPE(uuid);   -- 通过JG_TEST_TYPE 循环将uuid放进变量 v_unintinfo 中
      PIPE ROW(v_unintinfo);-- 将临时变量放入返回的结果中
    end if;
     END LOOP;
     RETURN ;-- 返回数据
    END;




    --调用函数
    select * from user t  where t.uuid in(SELECT * FROM TABLE (JG_GET_TABLE_TEST1())) ;
    展开全文
  • 拆分表字符串函数返回数据集 创建此函数前必须先执行下面两步: --1、创建表结构对象 \*创建表结构类型 *\ CREATE OR REPLACE TYPE TY_TABLE_TYPE AS OBJECT ( key_column VARCHAR2 (1000), split_column ...

     

    --1、创建表结构对象

    /*创建表结构类型 */
    CREATE OR REPLACE TYPE TY_TABLE_TYPE AS OBJECT ( key_column VARCHAR2 (1000), split_column VARCHAR2 (1000));

    --2、定义嵌套表类型

    /*创建嵌套表类型*/
    CREATE OR REPLACE TYPE TY_TABLE_LIST AS TABLE OF TY_TABLE_TYPE;

    ---3、创建函数

    /*创建函数*/

    CREATE OR REPLACE FUNCTION split_tbcolumn (inSql VARCHAR2, delimiter varchar2)
      RETURN TY_TABLE_LIST PIPELINED IS
    /*
    拆分表字符串函数,返回数据集
    创建此函数前必须先执行下面两步:
    --1、创建表结构对象
    \*创建表结构类型 *\
    CREATE OR REPLACE TYPE TY_TABLE_TYPE AS OBJECT ( key_column VARCHAR2 (1000), split_column VARCHAR2 (1000));
    --2、定义嵌套表类型
    \*创建嵌套表类型*\
    CREATE OR REPLACE TYPE TY_TABLE_LIST AS TABLE OF TY_TABLE_TYPE;
    调用此函数方法:
    select * from TABLE(split_tbcolumn('select wf_serial_no, deal_person from bomc_itil.dwfformf1002003 where rownum < 20',','));
    */
      v_test_type TY_TABLE_TYPE;
      cnt         integer;
      I_str       VARCHAR2(4000);
      I_num       integer;
      str1        VARCHAR2(4000);
      i           integer;
      i1          integer;
      type curs  is ref  cursor;
      cur curs;
      v_key_column VARCHAR2 (4000);
      v_split_column VARCHAR2 (4000);
    BEGIN

      OPEN  cur for inSql;
      LOOP
      FETCH cur INTO v_key_column,v_split_column;
      EXIT  WHEN   cur%NOTFOUND;
        I_str       := v_split_column;
        select nvl(length(I_str) - length(replace(I_str, delimiter, '')),0) into cnt from dual;
        --DBMS_OUTPUT.PUT_LINE('cnt:' || cnt);
        if cnt = 0 then
          --DBMS_OUTPUT.PUT_LINE(v_key_column || ':' || I_str);
          /* 赋值到临时变量中 */
          v_test_type := TY_TABLE_TYPE(v_key_column, I_str);
          /* 将临时变量放入返回的结果中 */
          PIPE ROW(v_test_type);
        else
          FOR I_num in 1 .. cnt+1 LOOP
            begin
              str1 := ' ';
              if I_num = 1 then
                i := 0;
              else
                i := instr(I_str, delimiter, 1, I_num - 1);
              end if;
              i1 := instr(I_str, delimiter, 1, I_num);
              if i >= length(I_str) or i1 > length(I_str) then
                str1 := ' ';
              else
                select substr(I_str, i + 1, decode(i1, 0, length(I_str) + 1, i1) - i - 1) into str1  from dual;
              end if;
            exception
              when others then
                null;
            end;
            --DBMS_OUTPUT.PUT_LINE(v_key_column || ':' || str1);
            /* 赋值到临时变量中 */
            v_test_type := TY_TABLE_TYPE(v_key_column, str1);
            /* 将临时变量放入返回的结果中 */
            PIPE ROW(v_test_type);
          END LOOP;
        end if;
      END  LOOP;
      CLOSE cur;
      RETURN;
    END;

    --4、调用函数

    /*调用函数*/

    select * from TABLE(split_tbcolumn ('select wf_serial_no, deal_person from bomc_itil.dwfformf1002003 where rownum < 20',','));

     
     

    展开全文
  • Oracle函数返回游标的方法及应用.pdf
  • Java调用oracle函数返回oracle类(类似)集合
  • Oracle函数返回Table集合

    千次阅读 2018-12-26 14:36:17
    Oracle table()函数查询函数返回的结果集 2015年12月13日 22:42:51 warrenjiang 阅读数:7452 版权声明:本文为博主原创文章,未经博主允许不得转载。 ...
  • 浅谈Oracle函数返回Table集合

    千次阅读 2012-08-17 14:57:46
    在调用Oracle函数时为了让PL/SQL 函数返回数据的多个,必需 通过返回一个 REF CURSOR 或一个数据聚拢 来完成。REF CURSOR 的这种情况范围 于可以从查询中选择的数据,而所有聚拢 在可以返回前,必需 举办具体 化。...
  • Oracle函数

    万次阅读 多人点赞 2016-05-16 17:43:09
    概述ORACLE函数系列:Oracle常见函数大全Oracle-分析函数之连续求和sum(…) over(…)Oracle-分析函数之排序值rank()和dense_rank()Oracle-分析函数之排序后顺序号row_number()Oracle-分析函数之取上下行数据lag()和...
  • vb 调用 Oracle 函数返回数据集的例子

    千次阅读 2005-01-19 14:26:00
     cnn.ConnectionString = "Provider=OraOLEDB.Oracle.1;Password=tiger;Persist Security Info=True;User ID=scott;Data Source=oraAny;Extended Properties=PLSQLRSet=1"  cnn.Open     With cmd  ....
  • oracle函数_表值数据返回

    千次阅读 2015-03-03 17:14:47
    一:创建 CREATE OR REPLACE FUNCTION FN_T_EM_RT_...首先需要创建临时表T_EM_RT_RUNSTA_TEMP(用于返回数据的临时表中)  2.在PACKAGE文件下创建包FN_T_EM_RT_RUNSTATE_DETAIL_PKG,声明T_EM_RT_RUNSTA_TEMP
  • oracle 返回函数

    千次阅读 2017-07-14 16:26:49
    oracle返回函数
  • 编写一个函数,要求通过编号显示员工的姓名和工资,返回记录或者游标需要在函数内定义还是定义函数之前定义? 表结构: table emp( eno char(6), ename char(6), ...
  • ORACLE 函数

    千次阅读 2017-03-04 07:43:44
    字符函数返回值有的是varchar2类型的值,有的是number类型的值,返回number类型时,没有定义任何精度和刻度范围 表3-1-1字符函数函数函数功能ASCII返回与指定的字符对应的十进制数 select ascii(ename) ,job from...
  • java调用ORACLE函数返回结果集

    千次阅读 2007-05-23 13:50:00
    CREATE OR REPLACE PACKAGE MY_STEEL_SOFTAS --存储过程返回数据集的类型 TYPE ReturnDataSet IS REF CURSOR;END MY_STEEL_SOFT;create or replace function bb(beginDate in varchar2) return My_steel_soft....
  • 概述ORACLE函数系列:Oracle常见函数大全Oracle-分析函数之连续求和sum(…) over(…)Oracle-分析函数之排序值rank()和dense_rank()Oracle-分析函数之排序后顺序号row_number()Oracle-分析函数之取上下行数据lag()和...
  • oracle自定义函数返回表类型

    千次阅读 2012-08-03 10:11:33
    oracle自定义函数是最重要的函数之一,下面就为您介绍oracle自定义函数的使用,实现返回表类型,希望对您能够有所帮助。 oracle中的函数可以返回表类型。但是,这个表类型实际上是集合类型(与数组类似)这个类型不...
  • Oracle分析函数——数据分布函数及报表函数CUME_DIST功能描述:计算一在组中的相对位置,CUME_DIST总是返回大于0、小于或等于1的数,该数表示该行在N中的位置。例如,在一个3的组中,返回的累计分布值为1/3
  • Oracle函数之DECODE函数

    千次阅读 2019-05-06 17:21:04
    1.语法 2.用途 DECODE 函数将 expr 与 search 的值...如果 expr 与 search 值都不匹配,Oracle 返回 default,如果没有函数中没有赋值 default,Oracle 返回 null。 这些参数可以是任何数字类型(NUMBER, BINARY_F...
  • oracle 自定义函数 返回一个表类型

    千次阅读 2017-05-10 10:54:44
    oracle 中的函数可以返回表类型,但,这个表类型实际上是集合类型(与数组类似).这个类型不能直接作为 from 的宾语.从oracle 9i 开始,提供了一个叫做“管道化表函数”的概念,来解决这个问题.这种类型的函数,必须...
  • --调用函数f_xxcg_kqtjzb_row得到一行数据 if p_endDate is not null then v_kqtjzb_row:=f_xxcg_kqtjzb_row(dwry_record.dw,dwry_record.ryid,p_startDate,p_endDate,dwry_record.wdkcl); pipe row(v_kqtjzb_...
  • oracle自定义函数返回一个表类型
  • oracle函数之多行函数

    千次阅读 2015-10-26 16:16:39
    oracle函数之多行函数
  • Oracle函数的使用

    千次阅读 2016-09-27 00:03:23
    在进行select查询的时候,可以为列指定函数函数是sql语句中的一个非常有用的特性,oracle内置了用于处理字符,数字,日期及转换的各种函数,使用函数能够执行数据计算,修改列数据的显示,进行分组统计及数据类型...
  • ORACLE函数之GREATEST函数详解实例

    万次阅读 2014-07-02 10:22:22
    ORACLE函数之GREATEST函数详解实例

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 131,035
精华内容 52,414
关键字:

oracle函数返回行数据