Thread: insert into view

insert into view

From
"Ben-Nes Michael"
Date:
Hi

im trying to insert into the following view and i have problem handeling the
serial type

CREATE TABLE a (field11 serial PRIMARY KEY,field12 integer);
CREATE TABLE b (field11 integer REFERENCES field11, field22 integer PRIMARY
KEY)

CREATE VIEW some_view AS
    SELECT * FROM a,b left join b using (field11);

CREATE RULE insert_into_view AS ON INSERT TO some_view DO INSTEAD (
 INSERT INTO a (field12) VALUES (NEW.field11);
 INSERT INTO b (field11, field22) VALUES (NEW.field11, NEW.field22);
);

now.

how do i tell him the second insert in the rule to use the new value of the
serial from the first insert ?

Thanks in advance


Re: insert into view

From
"Aasmund Midttun Godal"
Date:
currval('a_field11_seq')

Regards,

A.

On Sun, 6 Oct 2002 19:42:56 +0200, "Ben-Nes Michael" <miki@canaan.co.il> wrote:
> Hi
>
> im trying to insert into the following view and i have problem handeling the
> serial type
>
> CREATE TABLE a (field11 serial PRIMARY KEY,field12 integer);
> CREATE TABLE b (field11 integer REFERENCES field11, field22 integer PRIMARY
> KEY)
>
> CREATE VIEW some_view AS
>     SELECT * FROM a,b left join b using (field11);
>
> CREATE RULE insert_into_view AS ON INSERT TO some_view DO INSTEAD (
>  INSERT INTO a (field12) VALUES (NEW.field11);
>  INSERT INTO b (field11, field22) VALUES (NEW.field11, NEW.field22);
> );
>
> now.
>
> how do i tell him the second insert in the rule to use the new value of the
> serial from the first insert ?
>
> Thanks in advance
>
>
> ---------------------------(end of broadcast)---------------------------
> TIP 4: Don't 'kill -9' the postmaster

Aasmund Midttun Godal

aasmund@godal.com - http://www.godal.com/
+47 40 45 20 46