Могу ли я вставить значение, используя «где» - PullRequest
0 голосов
/ 14 марта 2019

Могу ли я использовать

вставить в (Таблица) Значения (XYZ) где (xzy)

Я вставляю значения на основе выбора флажка

begin
  for idx in 1 .. apex_application.g_f01.count
  loop
    if apex_application.g_f01(idx) is not null then
       insert into CONSOLIDATE
         (filenumber, 
          INCOMINGDATE,
          filename
         )
         values
         (apex_application.g_f01(idx),
          apex_application.g_f03(idx),
          apex_application.g_f04(idx)


         );
    end if;
  end loop;
end;

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

Я знаю, что вы можете использовать вставку в (выберите x, y, z) где (xyz) но я хочу конкретные значения из флажка ..

Ответы [ 2 ]

1 голос
/ 15 марта 2019

Пожалуйста, попробуйте это, просто выберите значения вашего флажка из двойного и примените, где необходимо условие

begin
  for idx in 1 .. apex_application.g_f01.count
  loop
    if apex_application.g_f01(idx) is not null then
       insert into CONSOLIDATE
         (filenumber, 
          INCOMINGDATE,
          filename
         )
         SELECT
          apex_application.g_f01(idx),
          apex_application.g_f03(idx),
          apex_application.g_f04(idx)
         FROM DUAL
         WHERE apex_application.g_f01(idx) = 'XYZ'  ;
    end if;
  end loop;
end;
1 голос
/ 14 марта 2019

Нет, вы не можете использовать WHERE, но вы можете использовать CASE, например,

values
     (case when apex_application.g_f01(idx) in ('A', 'B', 'C') then apex_application.g_f01(idx)
           else null
      end,
      apex_application.g_f01(idx),
      ...
...