Значения по умолчанию для обновляемых представлений в Oracle - PullRequest
2 голосов
/ 16 ноября 2011

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

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 Ответ

2 голосов
/ 16 ноября 2011

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

...