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 <[EMAIL PROTECTED]> wrote:

have an example :)

Bruno Wolff III wrote:


On Thu, Oct 09, 2003 at 14:26:21 -0400,
Gene Vital <[EMAIL PROTECTED]> 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.




---------------------------(end of broadcast)--------------------------- TIP 9: the planner will ignore your desire to choose an index scan if your joining column's datatypes do not match

Reply via email to