我正在編寫的存儲過程(在Oracle數據庫上)的一部分將返回一個整數值數組到一個C#應用程序。我從來沒有這樣做過,我無法在網上找到有關如何在存儲過程中執行此操作的信息。如何在存儲過程中循環訪問數組,返回數組?
在C#端,我連接到數據庫並創建了存儲過程命令。我正在使用:
cmd.Parameters.Add("returnID", OracleDbType.Array, ParameterDirection.Output);
要抓取數組。
內的存儲過程,我有:
CREATE OR REPLACE PROCEDURE ODM(/* not relevant*/, returnIDs OUT ARRAY)
IS
BEGIN
...
END ODM;
哪裏returnIDs是我要輸出的陣列,全整數。
我需要能夠遍歷表,ORDERS,並獲取兩個值之間的所有整數主鍵,並將它們添加到returnID。
我希望這裏的東西類似於插入到數組中,其中主鍵在最小值和最大值之間,但我不確定。
能夠聲明這些值的語法是什麼,循環遍歷表並添加到我的輸出數組中?
編輯:解決方案:Bulk Collect可以爲此工作,但只要將最小值和最大值返回到我的程序,然後在那裏做一個單獨的選擇就容易多了。
謝謝。以前沒有聽說過批量收集。我會嘗試的。 – zomgcopters
剛剛添加它。它看起來像會起作用,只需要開始測試它。謝謝! – zomgcopters