plsql 开发手记 之自定义类型

来源:互联网 发布:android 串口 java 编辑:程序博客网 时间:2024/05/22 21:34

在plsql的开发中  我们经常会使用到自己自定义的 类型 

create or replace type ENUMBER as table of number


这样 enumber 就可以在 其他存储过程,或者函数中来使用;

 

CREATE OR REPLACE TYPE split_type IS TABLE OF VARCHAR2 (4000)


 

下面是一个拆分字符串的函数

create or replace function split(   p_list varchar2,   p_sep varchar2 := ',')  return split_type pipelined is   l_idx  pls_integer;   v_list  varchar2(50) := p_list;begin   loop      l_idx := instr(v_list,p_sep);      if l_idx > 0 then          pipe row(substr(v_list,1,l_idx-1));          v_list := substr(v_list,l_idx+length(p_sep));      else          pipe row(v_list);          exit;      end if;   end loop;   return;end split;


实际上可以这样使用

declare    v_char : split_type;begin      v_char:=split_type();     select split('hello,world',',') into v_char from dual;end;