Часть хранимой процедуры, которую я пишу (в БД 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 будет работать для этого, но гораздо проще просто вернуть минимальные и максимальные значения в мою программу, а затем просто сделать отдельный выбор там.