表结构(保存邮编与地址信息):
create table T_zipCode (
    zipcode varchar2(6) not null primary key,
    address varchar2(100) not null
);
要求:建立一个存储过程,该存储过程需要有一个输入参数和一个输出参数,输入参数为查询条件(与address列模糊查询),输出参数为结果集游标。 本人刚学习Oracle,尝试几次均告失败,肯请各位大牛帮助。

解决方案 »

  1.   

    create or replace package pack
    is 
       type cur_addr is ref cursor;
       procedure proce(v_addr     in  varchar2,
                       v_cur      out cur_addr);
    end pack;
    /
    create or replace package body pack
    is
       procedure proce(v_addr     in  varchar2,
                       v_cur      out cur_addr)
       is 
          open v_addr for select * from T_zipCode where address like '%'||v_addr||'%';
       end;
    end pack;单独一个procedure是不行的,因为传出参数是游标的话,只能用ref cursor或者table类型。