Article View: be.comp.programming
Article #2779Re: delete query
From: Stijn De Smet
Date: Wed, 17 Mar 2004 07:58
Date: Wed, 17 Mar 2004 07:58
39 lines
2170 bytes
2170 bytes
Snuyt wrote:
> Hallo
>
> stel, je hebt 2 tabellen (access, maar dat speelt hier geen rol):
>
> tabel1
> id autonumber
> str text
>
> tabel2
> id autonumber
> T1_id number
>
>
> Ik wil nu uit tabel1 die records verwijderen met str="String" EN uit
> tabel2 de overeenkomstige records (dus met T1_id=id van tabel1)
>
>
> dus iets in de aard van:
>
> DELETE FROM tabel1 t, tabel2 u WHERE t.str='String' AND t.id=u.T1_id
>
> maar dat werkt dus niet. Weet er iemand de goede manier om dit te doen?
>
>
Dat hangt gedeeltelijk af van je database design.
Stel dat het altijd zo is dat alle id's in tabel2 ook in tabel1 voorkomen,
en dus eigenlijk naar een element in t1 verwijzen. Dan is eigenlijk t2.id
een foreign key naar t1.id. Als je design werkt met een foreign key, dan
kun je de delete laten propageren('on delete cascade' of iets dergelijke
meegeven bij de foreign key creatie), en dan kun je gewoon:
DELETE FROM tabel1 WHERE str='String';
In het ander geval zul je het in 2 queries moeten doen:
DELETE FROM tabel2 t WHERE t.id IN (SELECT u.id from tabel1 u WHERE
u.str='String');
DELETE FROM tabel1 WHERE str='String';
--
Stijn De Smet
Technical Details
Message-ID:
<c38ukg$fmg$1@gaudi2.UGent.be>Path:
arc1-ca.pugleaf.net!archiver1.google.com!news2.google.com!fu-berlin.de!syros.belnet.be!news.belnet.be!news.UGent.be!not-for-mailReferences:
<40573f14$0$1929$ba620e4c@news.skynet.be>Show Full Headers
Complete Article Headers
X-Google-Language: DUTCH,ASCII-7-bit X-Google-Thread: fcea4,c7b9d98a48f26ed0 X-Google-Attributes: gidfcea4,public X-Google-ArrivalTime: 2004-03-17 00:01:33 PST Path: arc1-ca.pugleaf.net!archiver1.google.com!news2.google.com!fu-berlin.de!syros.belnet.be!news.belnet.be!news.UGent.be!not-for-mail From: Stijn De Smet <stijn.desmet@nospammer.pandora.be> Newsgroups: be.comp.programming Subject: Re: delete query Date: Wed, 17 Mar 2004 08:58:35 +0100 Organization: Ghent University Lines: 39 Message-ID: <c38ukg$fmg$1@gaudi2.UGent.be> References: <40573f14$0$1929$ba620e4c@news.skynet.be> Reply-To: stijn.desmet@nospammer.pandora.be NNTP-Posting-Host: azimov.intec.ugent.be Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7Bit X-Trace: gaudi2.UGent.be 1079508432 16080 157.193.122.169 (17 Mar 2004 07:27:12 GMT) X-Complaints-To: helpdesk@dict.ugent.be NNTP-Posting-Date: Wed, 17 Mar 2004 07:27:12 +0000 (UTC) User-Agent: KNode/0.7.6