Я создал материализованное представление, которое синхронизирует данные из внешней системы (по 5-секундному расписанию; через dblink).
- Основной системой с MV является Oracle 18c.
- Внешняя система с исходными данными/dblink — Oracle 19c.
create materialized view log on my_external_sys.workorder with rowid; --external system
create materialized view my_primary_sys.wo_mv --primary system
build immediate
refresh force
on demand
start with sysdate next sysdate + (5/(60*60*24))
as
select
cast(workorderid as number(38,0)) as objectid,
wonum,
status,
--other fields
longitudex,
latitudey
from
my_external_sys.workorder@gistomax --dblink
Материализованное представление работает так, как ожидалось.
Однако теперь я понимаю, что моя основная система предъявляет особые требования к своим таблицам (или, в данном случае, к MV).
В таблицах/MV должен быть столбец OBJECTID с ограничением NOT NULL.
Подробнее здесь: SDO_GEOMETRY и ArcGIS
Вопрос:
Есть ли способ создать материализованное представление (через dblink к внешней базе данных/таблице), в котором есть столбец с константой NOT NULL?