我需要将搜索条件作为数据表传递给oracle中的存储过程,并返回数据表以将其显示为报告。
因此,用户将输入参考编号列表和客户名称列表,应用程序将显示该参考编号和客户名称的所有详细信息作为报告。
我将使用水晶报告和c#
我在存储过程中的问题,我如何传递数据表并基于它构建查询?
答案 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文档