У меня нет опыта работы с PL / SQL, поэтому извините, если это не применимо. В MS SQL 2000/2005 нет способа передать массивы в процедуру; Я предполагаю, что PL / SQL имеет аналогичное ограничение. Обходной путь, который я использовал в прошлом, состоит в том, чтобы передать строку с разделителями (обычно с разделителями-пробелами, потому что в данных присутствовали запятые), а затем иметь функцию, которая может взять строку с разделителями и разбить ее на результат таблицы с одним строка на значение. Затем внутри вашей процедуры вы просто вызываете свою функцию split, передавая ей строку с разделителями, и у вас есть результат таблицы, с которым вы можете делать все, что захотите (наведение курсора, объединение с другими таблицами и т. Д.).
РЕДАКТИРОВАТЬ: Просто сделал Google для «PL / SQL таблицы параметров» и было несколько попаданий; Возможно, стоит провести расследование, чтобы выяснить, может ли какой-либо из этих результатов помочь вам.