我有一個存儲過程,它具有嵌套表的幾個參數。可以從ODP.NET調用具有嵌套表參數的Oracle存儲過程嗎?
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中不可訪問的另一種類型的集合)。