Re: Updatable view and default sequence values - Mailing list pgsql-admin

From Jim C. Nasby
Subject Re: Updatable view and default sequence values
Date
Msg-id 20060522165026.GV64371@pervasive.com
Whole thread Raw
In response to Updatable view and default sequence values  (Kouber Saparev <postgres@saparev.com>)
Responses Re: Updatable view and default sequence values  (Kouber Saparev <postgres@saparev.com>)
List pgsql-admin
On Tue, May 16, 2006 at 04:16:55PM +0300, Kouber Saparev wrote:
> The tricky part comes when I try to make my view insertable. Normally
> I'd insert without specifying the sequence values, but in some cases I'd
> want also to have full control of what's going into the underlying
> tables. The thing is that when I try to do it the simple way by
> specifying default values in the view itself:
>
> ALTER TABLE s_purchase ALTER COLUMN purchase_sid SET DEFAULT
> NEXTVAL('purchase_purchase_sid_seq');
> ALTER TABLE s_purchase ALTER COLUMN subscription_purchase_sid SET
> DEFAULT NEXTVAL('subscription_purchase_subscription_purchase_sid_seq');

You're doing ALTER TABLE on a view?

> CREATE RULE s_purchase_insert AS
>   ON INSERT TO s_purchase DO INSTEAD (
>     INSERT INTO purchase
>       (purchase_sid, data)
>     VALUES
>       (NEW.purchase_sid, NEW.pdata);
>
>     INSERT INTO subscription_purchase
>       (subscription_purchase_sid, purchase_sid, data)
>     VALUES
>       (NEW.subscription_purchase_sid, NEW.purchase_sid, NEW.sdata);
> );

Why not just use CURRVAL('purchase_purchase_sid_seq') in the rule?
--
Jim C. Nasby, Sr. Engineering Consultant      jnasby@pervasive.com
Pervasive Software      http://pervasive.com    work: 512-231-6117
vcard: http://jim.nasby.net/pervasive.vcf       cell: 512-569-9461

pgsql-admin by date:

Previous
From: "Jim C. Nasby"
Date:
Subject: Re: Synchronize Backup to another remote database
Next
From: Andy Shellam
Date:
Subject: Re: Error in Access