• Oracle PLSQL Demo


    --PACKAGE
    CREATE OR REPLACE PACKAGE test_141213 is
        TYPE type_ref IS record(
            ENAME VARCHAR2(20),
            WORK_CITY VARCHAR2(20),
            SAL NUMBER(10));
        TYPE t_type_ref IS TABLE OF type_ref;
        
        FUNCTION retrieve(v_name varchar2) RETURN t_type_ref
            PIPELINED;
    END test_141213;
    
    
    -- PACKAGE BODY
    CREATE OR REPLACE PACKAGE BODY test_141213 IS
        FUNCTION retrieve(v_name varchar2) RETURN t_type_ref
            PIPELINED IS
            cur_type_ref type_ref;
            
            Type ref_cur_variable IS REF cursor;
            cur_variable ref_cur_variable;
            --rec_emp type_ref%RowType;
            v_sql varchar2(100) := 'select e.ename, d.loc as work_city, e.sal from scott.emp e, scott.dept d where e.deptno = d.deptno';
        BEGIN
          
            Open cur_variable For v_sql;
        
            Loop
                fetch cur_variable
                    InTo cur_type_ref;
                Exit When cur_variable%NotFound;
                
                dbms_output.put_line(cur_variable%rowcount || ' -> ' || cur_type_ref.ename || '   ' || cur_type_ref.work_city || '   ' || cur_type_ref.sal);
                PIPE ROW(cur_type_ref);
            End Loop;
            Close cur_variable;
        
            RETURN;
        END;
    END test_141213;
    
    --Test retrieve
    select * from table(test_141213.retrieve('Robin'));
  • 相关阅读:
    进程线程模型
    操作系统运行机制
    操作系统概论
    排序
    win32消息机制
    win32框架
    map
    deque & list
    vector内部实现2
    蓝桥杯 文化之旅 图论 待复习
  • 原文地址:https://www.cnblogs.com/nick-huang/p/4609106.html
Copyright © 2020-2023  润新知