zoukankan      html  css  js  c++  java
  • 如何编写管道函数

    管道函数:用于返回一个集合,通常函数只返回一个值.

    create or replace package PKG_USER_ORG_EXTEND_HELPER is
      type tp_map is record(
                    objId varchar2(50),
                    val   varchar2(200)

                 );
      type tp_maps is table of tp_map;
      type cur is ref cursor;
      function getUserExtendAttr(attrCode varchar2) return tp_maps pipelined;
      function getOrgExtendAttr(attrCode varchar2) return tp_maps pipelined;
    end;
    /

    create or replace package body PKG_USER_ORG_EXTEND_HELPER is
    -- TODO
    function getUserExtendAttr(attrCode varchar2) return tp_maps pipelined is
    begin
    return;
    end;

    function getOrgExtendAttr(attrCode varchar2) return tp_maps pipelined is
    p_mark number(4) := 2; p_attri_field varchar2(30); p_map tp_map; p_sql varchar2(4000); p_list cur;
    begin
    select d.attri_field
      into p_attri_field
      from top_expand_attri_define d
     where d.mark = p_mark
       and d.attri_code = attrCode;
    p_sql := 'select o.org_id,a.' || p_attri_field || '
    from top_expand_attribute a,top_organization o
    where a.attri_object_id=o.org_id
    and o.state = 1 and a.mark = :mark';

    open p_list for p_sql using p_mark;

    loop fetch p_list into p_map.objId, p_map.val;

    exit when p_list % notfound;

    pipe row(p_map);
    end loop; return;
    end;
    end;
    /

  • 相关阅读:
    Android 中Base64的操作
    android 异步图片处理 工具类
    android 跨应用跳转 启动其他应用指定界面
    C++代码案例
    Android 中 Base64的操作应用
    Python基础笔记1
    [linux] 大批量删除任务
    Python基础笔记3
    [R] 如何快速生成许多差异明显的颜色?
    Python基础笔记4
  • 原文地址:https://www.cnblogs.com/HondaHsu/p/4227922.html
Copyright © 2011-2022 走看看