Oracle Forms Post-Query FRM-40735 и ORA-01422

Я хочу отобразить элемент из другой таблицы, я использую POST-QUERY вызывать:

SELECT Stock_code
  INTO :exchange.stockcode
  FROM Exchange_Stock
 WHERE Exchange_code = :exchange.Exchange_code;

это придумать FRM-40735 а также ORA-01422но он отображает некоторые записи (не все), я понятия не имею, что не так

1 ответ

Скорее всего POST-QUERYтриггер срабатывает сразу после заполнения полей табличного блока с несколькими записями. ОчевидноExchange_code значения не уникальны во всех данных таблицы, тогда как SELECT .. INTO .. FROM ... предложение может принести только одну запись строки.

Итак, вы можете попытаться отфильтровать результаты, чтобы получить отдельные строки для каждой комбинации полей параметров, например :exchange.Exchange_code & :exchange.code_order вместо только :exchange.Exchange_code поле в WHERE состояние:

SELECT Stock_code
  INTO :exchange.stockcode
  FROM Exchange_Stock
 WHERE Exchange_code = :exchange.Exchange_code
   AND code_order = :exchange.code_order;

где важно получить одну строку из запроса, сопоставленного для каждой записи в блоке данных. Вы все равно можете добавить в запрос дополнительные условия, если это условие еще не предусмотрено.

Другие вопросы по тегам