Custom functions for default values for columns on insert
| От | Lim Berger |
|---|---|
| Тема | Custom functions for default values for columns on insert |
| Дата | |
| Msg-id | 69d2538f0708142107x489c36f4o4b2e92dbb14178c3@mail.gmail.com обсуждение исходный текст |
| Ответы |
Re: Custom functions for default values for columns on insert
|
| Список | pgsql-general |
The "default" values of a column during table definition do not accept
values generated by passing another column's value through my own
function. So I try to do this with a rule as follows. The name of my
function in this example is MYFUNCTION.
drop table test cascade;
create table test (id serial primary key, nowd timestamp without time
zone, processed_id varchar(10));
create or replace rule test_ins as on insert to test
DO UPDATE test
SET processed_id = MYFUNCTION(NEW.id)
WHERE id = NEW.id
;
insert into test (nowd) values (current_timestamp);
insert into test (nowd) values (now());
select * from test;
This results in the "processed_id" column coming up blank. What am I
doing wrong? How can I make sure that upon insert of a row, the value
of one column ("id in my example) is used to immediately generate the
value of another column ("process_id" in my example).
В списке pgsql-general по дате отправления: