--创建类型
CREATE OR REPLACE TYPE picid_rowtype as object(in_picid nvarchar2(50),in_order number)
CREATE OR REPLACE TYPE picid_tabletype as table of picid_rowtype
--以分号为分隔的clob数据。
create or replace function common_GetResultPicIds(v_picid clob,
idcount in number) return picid_tabletype is outid picid_tabletype := picid_tabletype(); tempid clob;begin tempid := v_picid; for i in 1 .. idcount loop outid.extend();--扩展 if i < idcount then outid(1):=picid_rowtype(substr(tempid,1,instr(tempid,';')-1),i); tempid:=substr(tempid,instr(tempid,';')+1); else outid(i):=picid_rowtype(tempid,i); end if; end loop; return outid;end;