Срабатывает ли триггер on-select во время / после срабатывания триггера процедуры запроса?

#oracle #plsql #oracleforms

#Oracle #plsql #oracleforms

Вопрос:

У меня есть форма, на которую я смотрю, которая использует хранимые процедуры в качестве источника блока данных. Я пытаюсь определить, когда / где блок заполняется.

Тип источника данных block as query как Procedure, но процедура, указанная в качестве имени источника данных, ничего не делает — буквально ничего. Код в процедуре является

 begin
    null;
end;
  

Просматривая список процедур в пакете, отвечающем за обработку формы, я нашел процедуру, которая действительно заполняет данные.

При поиске этой процедуры я обнаружил, что эта процедура вызывается во время ON-SELECT запуска.

Итак — срабатывает ли ON-SELECT триггер во время / после QUERY-PROCEDURE события? Если нет, то когда он срабатывает?

Я использую Oracle Forms10.1.2.3.0, 32- немного в Windows Vista.

Ответ №1:

Из интерактивной справки Forms для ON_SELECT:

Срабатывает, когда Oracle Forms обычно запускает фазы open cursor, parse и execute запроса, чтобы идентифицировать записи в базе данных, которые соответствуют текущим критериям запроса.

Используйте триггер On-Select для открытия и запуска курсора базы данных. В частности, используйте этот триггер при извлечении данных из источника данных, отличного от ORACLE. Триггер On-Select может использоваться совместно с триггером On-Fetch для замены обработки, которая обычно выполняется во встроенной подпрограмме EXECUTE_QUERY.