On Thursday 21 December 2006 07:07, Nathaniel wrote:
> Hello folks, I'm an SQL novice indeed, but working on the premise
> that "No question is too simple for this list" here goes:
>
> This is just a dummy example to make the simple problem I'm trying to
> solve as clear as possible. Let's say I have 2 tables: people and
> companies.
>
> Company records have a primary key "company_id" that is a serial, and
> some other fields such as the company's name.
>
> A person record is simply some text fields (like name) and a foreign
> key, "company_id" which ties the person to a company. There is a
> foreign key constraint on people that ensures that every person is
> tied to a company which exists in the database.
>
> I want to add a new person, "Bugs Bunny", but I know that the company
> he work for, "Looney Tunes", is not in the database.
>
> So, I want to add the company "Looney Tunes" (which is auto-assigned
> a company_id value), and then extract that id value so that I can use
> it in the company_id foreign key field of Bugs Bunny's person record.
>
> What's the simple, multiple concurrent users-safe way of doing this
> in postgreSQL?
You simply add the company to the database, get its ID, and then insert the
person with the appropriate company_id. That is the simplest way to think
about the process. This will work for as many concurrent users as you like.
Sean