Re: Referencing Problem/bug?

From: Dennis Gearon <gearond(at)cvc(dot)net>
To: J A Stride <j(dot)a(dot)stride(at)ncl(dot)ac(dot)uk>
Cc: pgsql-general(at)postgresql(dot)org
Subject: Re: Referencing Problem/bug?
Date: 2003-03-28 22:56:19
Message-ID: 3E84D313.4020204@cvc.net
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

If you format the table deffintions like this:

create table name(
col1_name col1_type col1_qualifiers,
col2_name col2_type col2_qualifiers
);

-----OR EVEN BETTER------

create table name(
col1_name col1_type col1_qualifiers,
col2_name col2_type col2_qualifiers
);

You will get more takers for helping you.

J A Stride wrote:
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
>
> I have a problem with referencing keys. I have several tables:
>
> Resource table with a unique serial:
>
> create table resource (id bigserial not null unique, type int, units int not
> null, stdrate int not null default 0, projectid bigint references project(id)
> on update cascade on delete cascade not null, notes varchar, primary key
> (id));
>
> A person resource that inherits from the resource:
>
> create table personresource (personid bigint references person(id) on update
> cascade on delete cascade not null,primary key (projectid,personid)) inherits
> (resource);
>
> A resource group:
>
> create table resourcegroup (id bigserial not null unique, projectid bigint
> references project(id) on update cascade on delete cascade not null, personid
> bigint references person(id) on update cascade on delete cascade not null,
> name varchar not null, primary key(projectid, name));
>
> A cross reference table that contains all the resources in the resource group:
>
> create table resourcegroupxref (resourcegroupid bigint references
> resourcegroup(id) on update cascade on delete cascade not null, resourceid
> bigint references resource(id) on update cascade on delete cascade not null,
> primary key(resourcegroupid,resourceid));
>
> However if I do an insert into the person resource (which means that there is
> a value in the resource table) and the resource group I cannot put the id's
> from the insert's into the cross reference table as it fails with:
>
> ERROR: <unnamed> referential integrity violation - key referenced from
> resourcegroupxref not found in resource
>
> Is there a reason that I am missing as to why I cannot reference a value in a
> table that is inherited from?
>
> Thanks
>
> Jake
> -----BEGIN PGP SIGNATURE-----
> Version: GnuPG v1.0.7 (GNU/Linux)
>
> iD8DBQE+hNDZIxynSpxMjtERAnhKAKCx5xwbZ9wnBBVLz4Sqmn+C6ribPQCgvMDD
> Sgn0u97/rlK1DMxSx5JqCY0=
> =AfQ7
> -----END PGP SIGNATURE-----
>
>
> ---------------------------(end of broadcast)---------------------------
> TIP 1: subscribe and unsubscribe commands go to majordomo(at)postgresql(dot)org
>

In response to

Browse pgsql-general by date

  From Date Subject
Next Message Stephan Szabo 2003-03-28 23:04:58 Re: Referencing Problem/bug?
Previous Message Chris Smith 2003-03-28 22:48:00 Re: Please help with this error message