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;
Вид у конструкции жутковатый :)
Ща попробую.