将数据表传递给oracle

时间:2016-01-12 17:38:56

标签: c# oracle stored-procedures

我需要将搜索条件作为数据表传递给oracle中的存储过程,并返回数据表以将其显示为报告。

因此,用户将输入参考编号列表和客户名称列表,应用程序将显示该参考编号和客户名称的所有详细信息作为报告。

我将使用水晶报告和c#

我在存储过程中的问题,我如何传递数据表并基于它构建查询?

1 个答案:

答案 0 :(得分:0)

您可以尝试以下方法:

create or replace type strtable as table of varchar2(500);
/

create or replace function my_func(a in strtable)
return varchar2 /* OR strtable OR something else */
as
begin
    ...
end;
/


select my_func( cast( multiset( SELECT ... FROM TABLE WHERE ... ) as strtable ) ) from dual;

您也可以阅读有关MULTISET,CAST,LISTAGG

的Oracle文档