Предположим, что элемент, который вы используете для выбора базы данных , имеет имя P1_DATABASE
, а его источник -
select database_name d, database_id r
from list_of_databases
order by database_id;
и возвращает
DBLINK1, 1
DBLINK2, 2
DBLINK3, 3
в качестве дисплея/ вернуть значения.
Создать LoV, который использует UNION
, например
select role d, role r
from dba_roles@dblink1
where :P1_DATABASE = 1
union all
select role d, role r
from dba_roles@dblink2
where :P1_DATABASE = 2
union all
select role d, role r
from dba_roles@dblink3
where :P1_DATABASE = 3;
, что означает: если вы выберете dblink1
, его возвращаемое значение будет 1
, поэтому первоеSELECT
вернет некоторые значения, а 2 и 3 - нет.То же самое касается других вариантов, которые вы выбираете.
Это общая идея;при необходимости измените его.