如何在oracle存储过程中调用oracle函数

时间:2017-11-13 10:44:31

标签: oracle stored-procedures plsql

我想在一个过程中调用oracle函数,oracle函数返回sys_refcursor,我想在过程中迭代这个游标并从过程中返回列表,这样我就可以使用java代码获取列表了。我尝试使用java访问该函数,但无法获得结果。 我的oracle函数看起来像这样。

   create or replace function myfun(pi_id_pout_order in port_out_order.id_pout_order % type)
   return sys_refcursor is
   lc_cursor sys_refcursor;
begin

   open lc_cursor for
      select id_pout_order
            ,id_lec_user
            ,id_pout_lec
            ,id_service_rec
            ,pout_tn
            ,id_iptn
            ,pout_lec_ocn
            ,pout_lec_spid
            ,pout_ali_code
            ,lec_contact_fname
            ,lec_contact_lname
            ,lec_contact_tn
            ,lec_contact_email
            ,dl_lec_ocn
            ,cust_acct
            ,cust_f_name
            ,cust_l_name
            ,svc_addr_str
            ,svc_addr_num
            ,svc_addr_city
            ,svc_addr_state
            ,svc_addr_zip
            ,pout_loa_date
            ,pout_ddd
            ,pout_foc
            ,e_mail_sent_date
            ,v_mail_sent_date
            ,id_pout_status
            ,customer_type
            ,authorization_name
            ,id_master_pout_order
        from port_out_order
       where id_pout_order = pi_id_pout_order
         and id_pout_status < 95;

   return lc_cursor;
end;

我该怎么做?

0 个答案:

没有答案