Как получить значение флажка в oracle apex, если я использовал пустую форму? - PullRequest
0 голосов
/ 17 сентября 2018

enter image description hereenter image description here Я хочу поместить значение проверенного имени из флажка в oracle apex в таблицу, но не могу этого сделать. Я пытался получить помощь от Google, но упомянутые шаги тоже не сработали. Не могли бы вы посоветовать, как это сделать, если я взял пустую форму, а затем добавил к ней флажок, а также получил значение флажка из LOV.

1 Ответ

0 голосов
/ 18 сентября 2018

Как я понимаю, вы используете список значений в качестве источника своих флажков. Допустим, у вас есть следующие значения:

return value   display value
----------------------------
         123   andAND
         456   Dibya
         789   Anshul
         321   aafirst
         555   Anuj

Когда вы выбираете несколько значений, APEX помещает их возвращаемые значения в строку и разделяет их с помощью :. Таким образом, для случая на вашем скриншоте значение в элементе P12_NEW будет 123:555. Чтобы разделить эти значения, вы можете использовать следующий запрос:

 select regexp_substr(:P12_NEW, '[^:]+', 1, level) values
   from dual
connect by regexp_substr(:P12_NEW, '[^:]+', 1, level) is not null

Результат будет:

values
------
   123
   555

Далее необходимо поместить эти значения в таблицу usr_amt (скажем, со столбцами user_id и amount, а сумма вводится в элемент P12_AMOUNT):

merge into usr_amt t
using (select regexp_substr(:P12_NEW, '[^:]+', 1, level) user_id
         from dual
      connect by regexp_substr(:P12_NEW, '[^:]+', 1, level) is not null
       ) n on (n.user_id = t.user_id)
 when matched then update
  set t.amount = :P12_AMOUNT
 when not matched then insert (user_id, amount)
      values (n.user_id, :P12_AMOUNT)

Этот запрос будет искать каждый user_id, выбранный в таблице, и, если пользователь там присутствует, обновляет соответствующее значение до значения элемента :P12_AMOUNT, если его нет - вставляет строку с user_id и значение.

...