| От | Tom Lane |
|---|---|
| Тема | Re: Inserting a record data type into a table |
| Дата | |
| Msg-id | 29725.1113230737@sss.pgh.pa.us обсуждение |
| Ответ на | Inserting a record data type into a table (Graeme Hinchliffe <graeme.hinchliffe@zeninternet.co.uk>) |
| Список | pgsql-general |
Graeme Hinchliffe <graeme.hinchliffe@zeninternet.co.uk> writes:
> what I would like to be able to do is simply
> INSERT INTO newtable VALUES (NEW);
In 8.0 it works to spell it "new.*".
regression=# create table z1 (f1 int, f2 text);
CREATE TABLE
regression=# create table z2 (f1 int, f2 text);
CREATE TABLE
regression=# create function z1t() returns trigger as $$
regression$# begin
regression$# insert into z2 values(new.*);
regression$# return new;
regression$# end$$ language plpgsql;
CREATE FUNCTION
regression=# create trigger z1t before insert on z1 for each row
regression-# execute procedure z1t();
CREATE TRIGGER
regression=# insert into z1 values (42, 'foo');
INSERT 0 1
regression=# select * from z2;
f1 | f2
----+-----
42 | foo
(1 row)
regression=#
regards, tom lane
В списке pgsql-general по дате отправления:
Сайт использует файлы cookie для корректной работы и повышения удобства. Нажимая кнопку «Принять» или продолжая пользоваться сайтом, вы соглашаетесь на их использование в соответствии с Политикой в отношении обработки cookie ООО «ППГ», в том числе на передачу данных из файлов cookie сторонним статистическим и рекламным службам. Вы можете управлять настройками cookie через параметры вашего браузера