From: Stephan Szabo <sszabo@megazone.bigpanda.com>
To: beyaRecords - The home Urban music <uzo@beya-records.com>
Cc: pgsql-sql@postgresql.org
Subject: Re: Mechanics of Update:Cascade
Date: Sat, 31 Jan 2004 07:26:01 -0800 (PST)
Message-ID: <20040131072341.B91270@megazone.bigpanda.com> (raw)
In-Reply-To: <3968B922-53DB-11D8-A6EB-0003938366A4@beya-records.com>
References: <3968B922-53DB-11D8-A6EB-0003938366A4@beya-records.com>
On Sat, 31 Jan 2004, beyaRecords - The home Urban music wrote:
> Hi,
> could someone please explain to me the mechanics of an UpDate:Cascade?
> Delete:Cascade I fully understand but not Update. I have 2 tables A and
> B. On B I have created a foreign key on user_id in both B and A for
> Update and Delete cascade. If I delete from A it deletes all from B. If
> I update A what happens in B?
Basically it means that if you update the referenced key in A, the
associated referencing values in B changes as well so as to attempt to
keep the associations the same.
Here's an example:
sszabo=# create table a(a int primary key, b int);
NOTICE: CREATE TABLE / PRIMARY KEY will create implicit index "a_pkey"
for table "a"
CREATE TABLE
sszabo=# create table b(a_key int references a on update cascade, b int);
CREATE TABLE
sszabo=# insert into a values (3, 4);
INSERT 535937 1
sszabo=# insert into a values (4, 5);
INSERT 535938 1
sszabo=# insert into b values (3,104);
INSERT 535939 1
sszabo=# insert into b values (4,105);
INSERT 535940 1
sszabo=# select * from a;
a | b
---+---
3 | 4
4 | 5
(2 rows)
sszabo=# select * from b;
a_key | b
-------+-----
3 | 104
4 | 105
(2 rows)
sszabo=# update a set a=a+100;
UPDATE 2
sszabo=# select * from a;
a | b
-----+---
103 | 4
104 | 5
(2 rows)
sszabo=# select * from b;
a_key | b
-------+-----
103 | 104
104 | 105
(2 rows)
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Reply to all the recipients using the --to and --cc options:
reply via email
To: pgsql-sql@postgresql.org
Cc: sszabo@megazone.bigpanda.com, uzo@beya-records.com
Subject: Re: Mechanics of Update:Cascade
In-Reply-To: <20040131072341.B91270@megazone.bigpanda.com>
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox