Мне нужно написать sproc, который выполняет некоторые INSERT для таблицы, и скомпилировать список «состояний» для каждой строки, основываясь на том, насколько успешно прошла INSERT.Каждая строка будет вставлена в цикл, цикл перебирает курсор, который предоставляет некоторые значения для оператора INSERT.Мне нужно вернуть набор результатов, который выглядит следующим образом:
FIELDS_FROM_ROW_BEING_INSERTED.., STATUS VARCHAR2
СОСТОЯНИЕ определяется тем, как прошла INSERT.Например, если INSERT вызвал исключение DUP_VAL_ON_INDEX, указывающее на наличие дублирующейся строки, я бы установил для STATUS значение «Dupe».Если бы все прошло хорошо, я бы установил «УСПЕХ» и перешел бы к следующей строке.
К концу всего этого у меня будет результирующий набор из N строк, где N - это числовыполняются операторы вставки, и каждая строка содержит некоторую идентифицирующую информацию для вставляемой строки вместе с «STATUS» вставки
Поскольку в моей БД нет таблицы для хранения значений, которые я хотел бы передать обратнопользователю, мне интересно, как я могу вернуть информацию обратно?Временный стол?Кажется, в Oracle временные таблицы являются «глобальными», не уверен, что мне нужна глобальная таблица. Есть ли временные таблицы, которые удаляются после завершения сеанса?