Dmitry Yemanov пишет:

М.Королев wrote:

Попытался использовать
INSERT INTO view1 . . . RETURNING oid INTO :newoid;
 - похоже, не рассчитан RETURNING на работу с вьюхами.

Рассчитан. Но если значение oid для нижележащей таблицы генерится триггером вьюхи, то надо его присвоить еще и в NEW вьюхи, откуда его и прочитает RETURNING.

Значение oid генерится триггером нижележащей таблицы.
А в триггере вьюхи - просто вставка в эту таблицу.
Если я правильно понял, то в триггере вьюхи надо сделать
  insert into T1(oid,F1)
  values(new.oid, new.f1)  -- здесь new.oid еще пустой
  returning oid into :newoid;
  new.oid = newoid;
Или можно без промежуточной переменной? Типа
  returning oid into new.oid;
Вид у конструкции жутковатый :)

Ща попробую.


Ответить