Thread: Delete Cascade
Hi,
I am in trouble deleting rows in cascade.
I have a scheme like this:
create table author (author_cod integer primary key, author_name char(20));
create table book (book_cod integer primary key, book_autor integer references author(author_cod), book_title char(30));
I would like to delete a 'author' in the author table and also all your books in the book table.
When I run
delete from author where author_cod = <number>
I dont get the row deleted if there is a row referenced by in the book table.
How can I delete my rows in cascade ???
Thanks in advance,
Marcelo Pereira
Computer Programmer
On Mon, Mar 12, 2001 at 12:07:13PM -0300, Marcelo Pereira wrote: > Hi, > > I am in trouble deleting rows in cascade. > > I have a scheme like this: > > create table author (author_cod integer primary key, author_name char(20)); > create table book (book_cod integer primary key, book_autor integer references author(author_cod), book_title char(30)); > > I would like to delete a 'author' in the author table and also all your books in the book table. create table book ( book_cod integer primary key, book_autor integer references author(author_cod) on delete cascade, book_title char(30) ); What is bad on PG's docs? ...see: [ CONSTRAINT name ] REFERENCES reftable [ ( refcolumn ) ] [ MATCH matchtype ] [ ON DELETE action ] [ ON UPDATE action ] [ [ NOT ] DEFERRABLE ] [ INITIALLY checktime ] Karel -- Karel Zak <zakkr@zf.jcu.cz> http://home.zf.jcu.cz/~zakkr/ C, PostgreSQL, PHP, WWW, http://docs.linux.cz, http://mape.jcu.cz
Add ON DELETE CASCADE to the references in book. On Mon, 12 Mar 2001, Marcelo Pereira wrote: > Hi, > > I am in trouble deleting rows in cascade. > > I have a scheme like this: > > create table author (author_cod integer primary key, author_name char(20)); > create table book (book_cod integer primary key, book_autor integer references author(author_cod), book_title char(30)); > > I would like to delete a 'author' in the author table and also all your books in the book table. > > When I run > > delete from author where author_cod = <number> > > I dont get the row deleted if there is a row referenced by in the book table. > How can I delete my rows in cascade ???