我有一个存储过程,其中包含几个嵌套表参数。
CREATE TYPE FOO_ARRAY AS TABLE OF NUMBER;
CREATE TYPE BAR_ARRAY AS TABLE OF INTEGER;
CREATE PROCEDURE Blah(
iFoos IN FOO_ARRAY,
iBars IN BAR_ARRAY,
oResults OUT SOMECURSORTYPE
) AS
BEGIN
OPEN oResults FOR
SELECT *
FROM SomeTable T
JOIN TABLE(iFoos) foos ON foos.column_value = T.foo
JOIN TABLE(iBars) bars ON bars.column_value = T.bar;
END
使用 ODP.NET (Oracle.DataAccess.dll),有没有办法调用这个存储过程并将数组传递给这些参数?我发现传递数组的唯一方法是参数类型是关联数组(SQL 中无法访问的不同类型的集合)。