2016-06-13 2 views
0

문자열을 형식화하기 위해 varChar 테이블을 만들려고합니다. (기본적으로 나는 치터 split() 함수를 수행하려고합니다).동적으로 varchar 테이블 만들기

그래서

type tableOfStrings is table of varchar2(50); 
vWords tableOfStrings := tableOfStrings ('a','few','words'); 
dbms_output.put_line(vwords.count); -- 3 

을하지만

type tableOfStrings is table of varchar2(50); 
vTemp varchar(300) := '''a'',''few'',''words'''; 
vWords tableOfStrings := tableOfStrings (vTemp); 
dbms_output.put_line(vwords.count); -- 1 (it's a single string 'a','few','words') 

를하려고하면 나는 테이블에 추가 된 각 단어를 함수에 문자열을 전달하고 있습니다하려는 경우.

내가 vWords tableOfStrings := tableOfStrings (pMyString); 같은 것을 사용하여 수행 할 수 있으며 테이블에 각 값을 추가 한 방법

FUNCTION FLABELFORMAT(pMyString in varchar2) return varchar2 

type tableOfStrings is table of varchar2(50); 
vWords tableOfStrings := tableOfStrings (pMyString); 

for i in 1 .. vWords.count loop 
    {do some cool stuff} 
end loop; 
END FLABELFORMAT 

같은 뭔가?

TIA는

답변

0

this answer에 의하면,이 시도 :

SELECT regexp_substr('a,few,words', '[^,]+', 1, LEVEL) 
FROM dual 
CONNECT BY regexp_substr('a,few,words', '[^,]+', 1, LEVEL) IS NOT NULL; 
+0

없음 "간단한"로 나는 기대했다으로 만 작동합니다. 감사. – Travis

관련 문제