Как установить значение по умолчанию в списке выбора в Oracle APEX 19?

#sql #oracle-sqldeveloper #oracle-apex #selectlist

Вопрос:

У меня есть список избранных, чтобы показать список национальностей, который

 SELECT DESCRIPTION d, NATIONALITY_ID r FROM NATIONALITY ORDER BY DESCRIPTION;  

Это возвращает мой список в алфавитном порядке, что вполне нормально. Теперь я хочу, чтобы значение по умолчанию было «британским», так как это будет наиболее распространенное значение, используемое в этом сценарии. Однако даже с «Отображаемым нулевым значением», установленным на «Нет», и после попытки установить значение по умолчанию на статическое и установить его на «Британский», это не сработает, я также попытался установить значение по умолчанию на «SQL-запрос», и этот запрос был

 SELECT DESCRIPTION FROM NATIONALITY WHERE DESCRIPTION = ‘British’  

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

Ответ №1:

Изменить ORDER BY предложение:

 SQLgt; with nationality (description, nationality_id) as  2 (select 'Austrian', 1 from dual union all  3 select 'Croatian', 2 from dual union all  4 select 'British' , 3 from dual union all  5 select 'French' , 4 from dual  6 )  7 select description d, nationality_id r  8 from nationality  9 order by case when description = 'British' then 1  10 end,  11 description;  D R -------- ---------- British 3 Austrian 1 Croatian 2 French 4  SQLgt;  

Ответ №2:

Значение элемента списка выбора является возвращаемым значением, а не отображаемым значением.

Предположим, у вас есть форма в таблице пользователей. Одним из пунктов страницы будет «Национальность». В таблице пользователи у вас будет столбец nationality_id с внешним ключом к таблице национальностей. Элемент страницы P1_NATIONALITY будет содержать значение, которое хранится в таблице пользователей, а именно nationality_id.

Чтобы установить значение по умолчанию, вы можете использовать «SQL-запрос» следующим образом:

 SELECT NATIONALITY_ID FROM NATIONALITY WHERE DESCRIPTION = ‘British’