Re: insert into a view?

Поиск
Список
Период
Сортировка
От Tom Lane
Тема Re: insert into a view?
Дата
Msg-id 21400.1146529968@sss.pgh.pa.us
обсуждение исходный текст
Ответ на insert into a view?  ("Karen Hill" <karen_hill22@yahoo.com>)
Ответы Re: insert into a view?  ("Karen Hill" <karen_hill22@yahoo.com>)
Список pgsql-general
"Karen Hill" <karen_hill22@yahoo.com> writes:
> Tried it but didn't work.  It gave me a hint though to try triggers.
> Can anyone show me how to do an insert into a view using triggers?

I hope it said rules, because you can't put a trigger on a view.

regression=# create table t(f1 int, f2 text);
CREATE TABLE
regression=# create view v as select * from t;
CREATE VIEW
regression=# insert into v values(22, 'foo');
ERROR:  cannot insert into a view
HINT:  You need an unconditional ON INSERT DO INSTEAD rule.
regression=# create rule r as on insert to v do instead
regression-# insert into t values(new.*);
CREATE RULE
regression=# insert into v values(22, 'foo');
INSERT 0 1
regression=# select * from t;
 f1 | f2
----+-----
 22 | foo
(1 row)


            regards, tom lane

В списке pgsql-general по дате отправления:

Предыдущее
От: Michael Fuhr
Дата:
Сообщение: Re: insert into a view?
Следующее
От: "Chris Velevitch"
Дата:
Сообщение: How to join to delete