Re: value - Mailing list pgsql-general

From Dean Rasheed
Subject Re: value
Date
Msg-id AANLkTindjoz5TwijZ+DZtEanCLGQ81Hgu=nPcnVoiYaJ@mail.gmail.com
Whole thread Raw
In response to Re: value  (Gissur Þórhallsson <gissur@loftmyndir.is>)
Responses Re: value  (Gissur Þórhallsson <gissur@loftmyndir.is>)
List pgsql-general
2010/9/16 Gissur Þórhallsson <gissur@loftmyndir.is>:
>> which is probably not what you might expect.
>
> No, indeed it is not.
> My solution - which seems to be working - is replacing:
> new.my_table_id
> with:
> currval(pg_get_serial_sequence('my_table', 'my_table_id'))
> in the on_insert rule
>

OK, but you still need to be careful. That trick will only work if you
insert rows one at a time into the table. If you have a single insert
that inserts multiple rows (as in my example), it would fail because
the currval() call would return the same value for each row in the
insert created by the rule.

My advice would be to convert to triggers.

Regards,
Dean


> This does the trick.
> Thanks,
> Gissur Þórhallsson
>
> Loftmyndir ehf.
> Laugavegur 13
> IS 101 Reykjavík - Iceland
> sími (tel): (+354) 540 2500
> tölvupóstur (email): gissur@loftmyndir.is
>

pgsql-general by date:

Previous
From: Bill Thoen
Date:
Subject: Re: Need magic for identifieing double adresses
Next
From: Raymond O'Donnell
Date:
Subject: Re: query join issue