оракул формирует, как оставить флажок установленным после execute_query - PullRequest
0 голосов
/ 06 марта 2019

Форма с блоком данных из нескольких записей, который обновляет таблицу, вызывая PL / SQL для проверенных строк. Необходимо иметь возможность сохранять проверенное состояние и положение флажка после execute_query.

Код при нажатии кнопки WHEN для нажатия на все выбранные строки.

DECLARE
   l_cur_record  NUMBER;
   v_error       VARCHAR2 (1);
BEGIN
   l_top_record := GET_BLOCK_PROPERTY ('LOAD_DETAILS_LOG', TOP_RECORD);

   GO_BLOCK ('LOAD_DETAILS_LOG');
   FIRST_RECORD;

   LOOP
      IF :LOAD_DETAILS_LOG.select_chk = 'Y'
      THEN
         l_cur_record := :SYSTEM.CURSOR_RECORD;

         PK_LOAD_CHE.P_CHECK_FILES ( :LOAD_DETAILS_LOG.file_id,
                                    :LOAD_DETAILS_LOG.original_filename,
                                    :LOAD_DETAILS_LOG.fsy_code,
                                    :LOAD_DETAILS_LOG.received_date,
                                    v_error);
      END IF;

      EXIT WHEN :SYSTEM.LAST_RECORD = 'TRUE';
      NEXT_RECORD;
   END LOOP;

   IF v_error = 'Y'
   THEN
      msg_alert ('Errors found in selected files. Please check Error Log',
                 'I',
                 FALSE);
      GO_BLOCK ('LOAD_DETAILS_ERRORS');
      EXECUTE_QUERY;
   ELSE
      GO_BLOCK ('LOAD_DETAILS_LOG');
      EXECUTE_QUERY (NO_VALIDATE);
   END IF;
END;

Ответы [ 2 ]

0 голосов
/ 06 марта 2019

Как сказал littlefoot, вы должны сделать флажок базовым элементом.Если вы не можете этого сделать или не хотите этого делать, вы можете сохранить значения, которые проверяются перед запросом, во временной таблице или в массиве.После запроса вы можете пройтись по каждой строке и проверить в массиве или временной таблице, было ли проверено значение, и проверить его снова.

0 голосов
/ 06 марта 2019

Необходимо иметь возможность сохранять проверенное состояние и положение флажка после execute_query.

Если флажок "состояние" означает, установлен он или нет, то он должен быть элемент базы данных (т. е. принадлежащий таблице).Если это элемент, который не основан на табличных значениях, то при выполнении запроса невозможно узнать, какие флажки были отмечены (а какие нет).

Это также отвечает на вторую часть вопроса.

...