欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

在Oracle上Table函数简单应用详情

程序员文章站 2022-03-17 09:19:37
优势 1.一些复杂的公用信息,但是建立视图又实现不了,此时可以考虑使用管道输出。 2.涉及运算较多,写个简单sql实现起来较为麻烦,用table实现就ok了 实例 1.前期工作: create or...
优势

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, nvl(t.emp_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'))