Oracle PLSQL Demo - 18.02.管道function[查询零散的字段组成list管道返回] [字段必须对上]
2015-06-29 23:04
555 查看
--PACKAGE CREATE OR REPLACE PACKAGE test_141215 is TYPE type_ref IS record( ENAME 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_141215; -- PACKAGE BODY CREATE OR REPLACE PACKAGE BODY test_141215 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 t.ename, t.sal/*, t.empno*/ from scott.emp t'; 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.sal); PIPE ROW(cur_type_ref); End Loop; Close cur_variable; RETURN; END; END test_141215; --Test retrieve select * from table(test_141215.retrieve('asd'));
相关文章推荐
- Oracle PLSQL Demo - 18.01管道function[查询零散的字段组成list管道返回]
- Oracle PLSQL Demo - 17.游标查询个别字段(非整表)
- Oracle PLSQL Demo - 16.弱类型REF游标[没有指定查询类型,已指定返回类型]
- Oracle PLSQL Demo - 15.强类型REF游标[预先指定查询类型与返回类型]
- Oracle PLSQL Demo - 14.定义定参数的显示游标
- Oracle PLSQL Demo - 12.定义包体[Define PACKAGE BODY]
- Oracle PLSQL Demo - 11.定义包头[Define PACKAGE]
- Oracle PLSQL Demo - 09.Open、Fetch遍历游标[Open, Fetch, Close Record CURSOR]
- Oracle PLSQL Demo - 08.定义显式游标[Define CURSOR, Open, Fetch, Close CURSOR]
- Oracle PLSQL Demo - 03.流程判断[IF ELEIF ELSE]
- Oracle PLSQL Demo - 02.SELECT INTO单行赋值[SELECT INTO variables]
- Oracle PLSQL Demo - 01.定义变量、打印信息
- oracle exp/imp和sqlload
- oracle存储过程基本语法
- Oracle基础(三)数据库管理
- Java向Oracle数据库插入时间
- Oracle基础(二)---操作命令
- 检测ORACLE方法汇总数据块损坏
- Oracle数据库PL/SQL存储过程游标触发器
- Solaris10 swap空间管理