我试图弄清楚如何定义和检索 Oracle OUTPUT 参数,该参数是 C# 中的 UDT(object) 表。
具体来说,我使用的是 C#、.NET 4.0 和 Oracle.ManagedDataAccess
我似乎找不到针对这个特定问题的正确示例 - 尽管我找到了各种类似的建议和解决方案,其中返回类型是简单的 OracleDBType 而不是 UDT 对象表。
假设以下示例:
create or replace TYPE tsv
as
object ( valuedate date, value binary_double, code number );
create or replace TYPE tsv_array
as table of tsv;
create or replace procedure sp_example (p_values OUT tsv_array , p_id IN Varchar2 )
is
l_values tsv_array;
begin
...
select field1, field2, field3
bulk collect
into l_values
from table(some_stuff);
p_values := l_values;
end;
根据一些示例,我认为 OacleDbType.Object 可能有用,但它似乎不是我正在使用的 Oracle.ManagedDataAccess 的一部分。
有人可以帮助我了解我将如何做吗?
1 - 正确定义输出参数(例如 new OracleParameter("p_values", OracleDbType.?,...)
2 - 访问/处理输出参数的UDT返回表
非常感谢您的帮助!