17,140
社区成员




create or replace type record_dm as object (
id varchar2(200),
md5value varchar2(32)
);
-----------------------------------------------
create or replace type table_dm as
varray(1000) of record_dm;
-------------------------------------------
create or replace FUNCTION "GETROWMD5" (
p_id_array EMPARRAY
)
return TABLE_DM
IS
cur_emp table_dm; --返回table
BEGIN
cur_emp := table_dm();
for x in 1..p_id_array.count loop
cur_emp.Extend();
SELECT id ,name into cur_emp(x).id,cur_emp(x).md5value FROM dm2 where id=p_id_array(x) order by id;
end loop;
RETURN cur_emp;
END;
create or replace type EMPARRAY_DM is table of VARCHAR2(200);
---------------------------------------------------
create or replace
FUNCTION "GETROWMD5" (
p_id_array EMPARRAY--数组
)
return SYS_REFCURSOR
IS
cur_emp SYS_REFCURSOR;--返回游标
BEGIN
open cur_emp for SELECT id ,name FROM dm2 where id in (select * from table(p_id_array)) order by id;
RETURN cur_emp;
END;