Значения по умолчанию для обновляемых представлений в Oracle

Допустим, у меня есть что-то вроде следующего:

create table tab
(
  data varchar2(100),
  source number
);

create view source_1 as
(
  select data from tab where source = 1
);

create view source_2 as
(
  select data from tab where source = 2
);

я хочу

insert into source_1 values ( 'hello' );

вставить ( 'hello', 1 ) в tab,

И так же:

insert into source_2 values ( 'hello' );

вставить ( 'hello', 2 ) в tab,

Я знаю, что мог бы использовать значения по умолчанию для таблицы, если бы было только одно представление, но это не сработает для двух представлений.

Есть ли в любом случае, чтобы сделать это, кроме instead of insert триггеры на каждом из представлений?

1 ответ

Нет, это все еще представление, а не таблица. Представления не поддерживают значения по умолчанию, поскольку они являются логическими объектами, а не физическими, такими как таблицы.

Другие вопросы по тегам