) в качестве курсора и избегайте таблицы и функции PL / SQL, которые, кажется, добавляют ненужную сложность. Но я отклоняюсь от первоначального вопроса.

вопрос более или менее совпадает сэто

В заголовке пакета:
Объявлен следующий тип строки:

  TYPE exch_row IS RECORD(
    currency_cd VARCHAR2(9),
    exch_rt_eur NUMBER,
    exch_rt_usd NUMBER);


И этот тип таблицы:

  TYPE exch_tbl IS TABLE OF exch_row INDEX BY BINARY_INTEGER;


Добавлена ​​переменная:

exch_rt exch_tbl;


В корпусе упаковки:
Заполните эту переменную таблицы некоторыми данными.


В процедуре в теле пакета:
Я хочу использовать следующее утверждение:

CURSOR c0 IS
  SELECT i.*, rt.exch_rt_eur, rt.exch_rt_usd
  FROM item i, exch_rt rt
  WHERE i.currency = rt.exchange_cd


Как это сделать в Oracle?

Примечания

На самом деле я ищу решение 'Table Variable' в MSSQL:

DECLARE @exch_tbl TABLE
(
  currency_cd VARCHAR(9),
  exch_rt_eur NUMBER,
  exch_rt_usd NUMBER)
)

И используйте эту переменную таблицы внутри моей StoredProcedure.

Ответы на вопрос(4)

Ваш ответ на вопрос