Oracle中Table函数简单应⽤实例说明
表函数可接受查询语句或游标作为输⼊参数,并可输出多⾏数据。
该函数可以平⾏执⾏,并可持续输出数据流,被称作管道式输出。trunc函数实例
应⽤表函数可将数据转换分阶段处理,并省去中间结果的存储和缓冲表。
优势
1.⼀些复杂的公⽤信息,但是建⽴视图⼜实现不了,此时可以考虑使⽤管道输出。
2.涉及运算较多,写个简单SQL实现起来较为⿇烦,⽤table实现就ok了
实例
1.前期⼯作:
create or replace type ty_row as object
(
col1 varchar2(36),
col2 varchar2(36),
col3 varchar2(36)
);
create or replace type ty_table as table of ty_row;
2.接着定义⼀个函数,⽤于获取⽤户基本信息:
create or replace function f_get_user_info(v_user_id in varchar2 default null)
return ty_table as
v_user_list ty_table;
begin
select ty_row(t.user_id, p_name, t.user_name), t.user_name) bulk collect
into v_user_list
from t_bs_user t
where t.user_id = v_user_id
or v_user_id is null;
return v_user_list;
end f_get_user_info;
3.使⽤就很简单了:
select * from table(f_get_user_info('1'))

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。