BIRT调用oracle function
一.方法描述
主要是间接调用function .该function的返回值是一个自定义类型的内存表。在birt中如下调用:select * from function_name(?,?.....);
二.例子如下:
(1) 数据库中有如下一张表:
表名:users
字段:id,name
(2) 首先创建一个type;
create or replace type t_test as object(
id varchar(10),
name varchar2(60)
);
(3) 创建一个以上一步创建的type为基类型的内存表类型如下:
create or replace type t_test_table as table of t_test;
(4) 创建如下的一个存储过程:
create or replace function testbirt2 return
t_test_table
as
t t_test_table:=t_test_table();
cursor mycursor is
select id,name
from users;
uid varchar(10);
uname users.name%type;
begin
open mycursor;
loop
fetch mycursor
into uid,uname;
exit when mycursor%notfound;
t.extend();
t(t.count) := t_test(uid,uname);
end loop;
close mycursor;
return t;
end testbirt2;
(5) 在birt中如下调用:
Select * from table(testbirt2);
三.即可预览到结果集。此例子相当简单,只是为了证明birt如此调用的可行性。
©著作权归作者所有:来自51CTO博客作者leizhimin的原创作品,如需转载,请注明出处,否则将追究法律责任
Oracle职场休闲UML