Не получить желаемых результатов - PullRequest
0 голосов
/ 19 марта 2019

enter code here У меня проблема. Ниже pl / sql раньше работал, и теперь я не знаю, что происходит ... Я хочу вставить записи в таблицу, называемую входящими из интерактивного отчета, используя флажок

мой sql

SELECT apex_item.checkbox2(1,filenumber)
       || apex_item.hidden(2,filename)   
       || APEX_ITEM.hidden(3,'&APP_USER. ')
       || APEX_ITEM.hidden(4,volume)

       || APEX_ITEM.hidden(6,filename)


       as  "SELECT",

       FILENUMBER,
       FILENAME,
       LOCATION,

       OPENDATE,
       CLOSEDDATE,

       VOLUME,
       SUB,
      temporary,
        registryid,
       STATUS
  from REGISTRY

мой pl / sql

begin
  for idx in 1 .. apex_application.g_f01.count
  loop
    if apex_application.g_f01(idx) is not null then
       insert into incoming
         (filenumber,
          filename
         )
         values
         (apex_application.g_f01(idx),
          apex_application.g_f02(idx) 
         );
    end if;
  end loop;
end;

и все это происходит после процесса .. это работало нормально .. Однако из-за недавней проблемы у меня возникла проблема: pl / sql дает мне правильный номер файла, но неверное имя файла. например скажем, в отчете ir есть

filenumber     filename   
1                 aaron
2                 kerron
3                 Joshua

когда я выбираю номер 2 (вторая запись), результат во входящей таблице будет

filenumber     filename
      2         aaron

всегда выбирает первую запись, как только она попадает в apex_item.hidden.

если я переверну его и поставлю

SELECT apex_item.checkbox2(1,filename)
       || apex_item.hidden(2,filenumber)   

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

 filenumber     filename
     1            kerron 

когда я добавляю

 begin
      for idx in 1 .. apex_application.g_f01.count loop

            for i in 1..apex_application.g_f02.count loop

        if apex_application.g_f01(idx) is not null then
           insert into INCOMINGREQUESTNOTIFICATION
             (requestedfile,filenumber


             )
             values
             (apex_application.g_f01(idx),
              apex_application.g_f02(i)




             );
        end if;
      end loop;
    end loop;
    end;

@ romeuBraga Я получаю все 3 строки, а не выбранную. Вы можете сказать мне, что я делаю не так

1 Ответ

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

Вам нужен скрытый предмет для хранения идентификатора. * 1 и 2 хранят одну и ту же информацию

select  column1,
        column2,
        column3,
        apex_item.hidden(p_idx   => 1, 
            p_value => code) ||
        apex_item.checkbox2(p_idx   => 2, 
            p_value => code) CheckBox,
        other items
from x

в этом случае вам нужен этот pl / sql для получения правильных значений строки.

begin
    for i in 1..apex_application.g_f01.count loop
        for j in 1..apex_application.g_f02.count loop
            if apex_application.g_f01(i) = apex_application.g_f02(j) then
                --insert something here
            end if;
        end loop;
    end loop;
end;
...