1
oracle의 새로운 기능. TSQL에 대한 함수가 있고 pl/sql로 변환해야합니다. 함수가 일부 규칙을 사용하여 들어오는 문자열을 분리합니다. 그래서 이것을 시도 :함수에서 테이블을 반환합니다. pl/sql
create or replace
FUNCTION FN_PROPSTOTABLE(stValues in varchar2) RETURN POPSTBL AS
tbl PROPSTBL;
s varchar2(8000);
ind varchar2(100);
val varchar2(100);
p int;
tmp varchar2(8000);
BEGIN
tmp:=stValues;
while LENGTH(tmp)>0
loop
p:=instr(tmp, ':');
IF p=0 THEN
p:=LENGTH(tmp);
END IF;
s:=SUBSTR(tmp, 0, p);
tmp:=SUBSTR(tmp, LENGTH(s)+1);
s:=REPLACE(s, ':', '');
ind:=substr(s,0, instr(s, '|')-1);
val:=substr(s,instr(s, '|')+1);
select b bulk collect into tbl
from (select props(ind, val) b from dual);
end loop;
RETURN tbl;
END FN_PROPSTOTABLE;
그게 잘 작동하지만, 마지막 부분 문자열을 반환합니다. 도와주세요.
'POPSTBL'의 정의는 무엇입니까? ('create type ... '문 게시) –
@a_horse_with_no_name : 저는 교육 된 추측을하고 다음과 같이 말 할 것입니다 :'PROPETBL을 PROP의 테이블로 만드십시오': –