반응형
1호점에서 가져왔습니다.
우선 Table 타입을 선언합니다.
create or replace type split_tbl as table of varchar2(32767);
/
함수를 선언합니다.
create or replace function split
(
p_list varchar2,
p_del varchar2
) return split_tbl pipelined
is
l_idx pls_integer;
l_list varchar2(32767) := p_list;
l_value varchar2(32767);
begin
loop
l_idx := instr(l_list,p_del);
if l_idx > 0 then
pipe row(substr(l_list,1,l_idx-1));
l_list := substr(l_list,l_idx+length(p_del));
else
pipe row(l_list);
exit;
end if;
end loop;
return;
end split;
/
사용법은
select * from table(split('1 2 3 4 5 6 7 8 9 10', ' '));
입니다.
출처 : http://builder.com.com/5100-6388-5259821.html
반응형
'DATABASE > ORACLE' 카테고리의 다른 글
[ORACLE] 트리구조 만들기 (0) | 2009.05.23 |
---|---|
[ORACLE] 오라클 계정 만들기 (0) | 2009.05.21 |
ORACLE scott 계정 활성화 하기 (0) | 2009.05.20 |
[ORACLE] 테이블 구조만 백업 하기 (0) | 2009.05.19 |
[ORACLE] 백업/복원하기 (0) | 2009.05.17 |