Re: Parent Id

From: Gene Vital <genevital(at)karibe(dot)com>
To: pgsql-general(at)postgresql(dot)org
Subject: Re: Parent Id
Date: 2003-10-09 21:09:33
Message-ID: 3F85CE8D.3040500@karibe.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

ok, I am new to Postgres so could you give a little better explanation
of this ??

I haven't created any sequence for this I am just using a type serial
field. will I have to create a sequence for it?

Here is my code to create the tables

CREATE TABLE workstations (station_id INT4 PRIMARY KEY, name
VARCHAR(50), description VARCHAR(250))

CREATE TABLE wsoptions (option_id SERIAL PRIMARY KEY, station_id INT4
REFERENCES workstations (station_id) ON DELETE CASCADE, type
VARCHAR(20), data TEXT)

insert into workstations (name, description)
values("new", "This is a test")

insert into wsoptions (stations_id, type, data)
values( ????, "LOCATION", "10th floor outer, office 27")

thanks....

Bruno Wolff III wrote:

> On Thu, Oct 09, 2003 at 15:55:27 -0400,
> Gene Vital <genevital(at)karibe(dot)com> wrote:
>
>>have an example :)
>>
>>Bruno Wolff III wrote:
>>
>>
>>>On Thu, Oct 09, 2003 at 14:26:21 -0400,
>>> Gene Vital <genevital(at)karibe(dot)com> wrote:
>>>
>>>
>>>>when inserting new records into parent / child tables, what is the best
>>>>recommended way of retrieving the pkey value from the parent table when
>>>>using auto incrementing fields ?
>>>
>>>
>>>You want to use currval. currval will return the last value obtained
>>>by nextval in the same session, so it is safe to use without any additional
>>>locking.
>>>
>
>
> You would do something like:
> insert into parent_table (pk, col1, col2) values (default, 'val1', 'val2');
> insert into child_table (pk, parent, col1, col2)
> values (default, currval('parent_table_pk_seq'), 'val3', 'val4');
>
> I don't remember when being able to use default in insert statements was
> added. You may need to just leave the pk columns off the list. I added them
> so that you could see what the normal sequence name looks like. I also
> assume that the two pk columns are declared to be of type serial. If not,
> then you have to do the sequence and default creation yourself.
>

--
Eugene Vital
Any technology indistinguishable from magic is insufficiently advanced.

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Cindy 2003-10-09 21:15:45 question about a select
Previous Message postgres 2003-10-09 20:58:00 Indexes, multicolumn or not?