Updating cidr column with network operator - Mailing list pgsql-sql

From Axel Rau
Subject Updating cidr column with network operator
Date
Msg-id ffaabb4676ab075beb4b6d041ec280c4@Chaos1.DE
Whole thread Raw
Responses Re: Updating cidr column with network operator
List pgsql-sql
Hi SQLers,

I have a fk from address to network and try to update the foreign key 
column to point at the network, "it belongs to":

CREATE TABLE network (  id      cidr     PRIMARY KEY     , -- 'PK, ,IPv4/6 Network address'
)

CREATE TABLE address (  id         inet     PRIMARY KEY      , -- 'PK of IPv4/6 host address'  network cidr     NOT
NULL           -- 'FK to Network table'                      REFERENCES network ON DELETE CASCADE ON UPDATE 
 
CASCADE
)

I tried (using the WHERE clause to eliminate the addresses were no 
corresponding net exists):
UPDATE addressSET network = (SELECT N.id WHERE A.id << N.id)FROM address A, network NWHERE A.id << N.id;

But this ended up with all network columns pointing at the same net 
(-:).
Any help would be appreciated.

Axel
Axel Rau, Frankfurt, Germany                           +49-69-951418-0



pgsql-sql by date:

Previous
From: Hannes Dorbath
Date:
Subject: Re: Copy Views From Database?
Next
From: Hannes Dorbath
Date:
Subject: Re: Copy Views From Database?