From: | "Michael Mattox" <michael(dot)mattox(at)verideon(dot)com> |
---|---|
To: | <pgsql-sql(at)postgresql(dot)org> |
Subject: | How to delete multiple rows from multiple joined tables |
Date: | 2003-05-26 13:48:16 |
Message-ID: | CJEBLDCHAADCLAGIGCOOAEMHCHAA.michael.mattox@verideon.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-sql |
I'm trying to use SQL to delete multiple rows from multiple tables that are
joined together. From what I've seen delete can only delete from a single
table, which is OK because I can just do separate deletes for each table.
But the problem is how do I specify which rows to delete? For example:
Table A is joined to Table B
Table B is joined to Table C
I want to delete all rows in table C & B that correspond to a row in Table
A. Here's my exact SQL which actually deletes all the rows:
delete from monitorstatusitemx where monitorx.namex='STRESS_TEST' and
monitorstatusx.jdoidx = monitorstatus_statusitemsx.jdoidx and
monitorstatus_statusitemsx.statusitemsx =
monitorstatusitemlistd8ea58a5x.jdoidx and
monitorstatusitemlistd8ea58a5x.statusitemlistx = monitorstatusitemx.jdoidx
(It's a little ugly because I'm using JDO which generates the schema.
Unfortunately deletes with JDO are very slow so I need to use SQL for this.)
Michael
From | Date | Subject | |
---|---|---|---|
Next Message | Peter Childs | 2003-05-26 13:55:36 | Re: Many-to-Many relation |
Previous Message | Mukta Telang | 2003-05-26 12:46:05 | Many-to-Many relation |