1. 程式人生 > >oracle儲存過程傳入in引數,返回結果集

oracle儲存過程傳入in引數,返回結果集

create or replace procedure proc_report_TEST(zhxshss in varchar2, pcursor out sys_refcursor)
as

begin
    open pcursor for
      select * from sys_user t where t.ID in
      ---------------------------zhxshss--傳入字串,逗號分隔--begin--------------
      (SELECT REGEXP_SUBSTR(zhxshss, '[^,]+', 1, LEVEL) AS value_str FROM DUAL 
      CONNECT BY LEVEL <=LENGTH(TRIM(TRANSLATE(zhxshss,TRANSLATE(zhxshss, ',', ' '), ' '))) + 1);
      --該儲存過程執行查詢操作,返回遊標
      --translate(string,from_str,to_str)為替換函式
      --TRIM(TRANSLATE(zhxshss,TRANSLATE(zhxshss, ',', ' '), ' '))去除字串首尾的空格或任意指定的字元
      ---------------------------zhxshss--傳入字串,逗號分隔--end----------------
end;